文章
问答
冒泡
Jenkins基于Ubuntu操作系统Docker的部署方式

概述

本文将说明在Ubuntu操作系统上,以Docker的方式部署Jenkins。

环境

操作系统:ubuntu-20.04.4-amd64

Jenkins:2.375.1

Docker:最新版的就好了

参考资料

官方安装说明:https://www.jenkins.io/doc/book/installing/docker/

一定要看英文版的哈,千万别看中文版本的,有坑。

安装步骤

创建专用网络

docker network create jenkins

创建docker:dind容器

这个容器是为了可以使在jenkins节点中执行docker命令所需要。

docker run \
  --name jenkins-docker \
  --detach \
  --privileged \
  --network jenkins \
  --network-alias docker \
  --env DOCKER_TLS_CERTDIR=/certs \
  --volume /opt/jenkins/certs/client:/certs/client \
  --volume /opt/jenkins/data:/var/jenkins_home \
  --publish 2376:2376 \
  docker:dind \
  --storage-driver overlay2

创建一个Dockerfile文件

自定义官方的jenkins镜像

FROM jenkins/jenkins:2.375.1
USER root
RUN apt-get update && apt-get install -y lsb-release
RUN curl -fsSLo /usr/share/keyrings/docker-archive-keyring.asc \
  https://download.docker.com/linux/debian/gpg
RUN echo "deb [arch=$(dpkg --print-architecture) \
  signed-by=/usr/share/keyrings/docker-archive-keyring.asc] \
  https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" > /etc/apt/sources.list.d/docker.list
RUN apt-get update && apt-get install -y docker-ce-cli
USER jenkins
RUN jenkins-plugin-cli --plugins "blueocean:1.26.0 docker-workflow:563.vd5d2e5c4007f"

构建自定义镜像

根据上一步自定义的Dockerfile文件进行构建镜像。

docker build -t myjenkins-blueocean:2.375.1-1 .

设置文件夹权限

否则在后面运行镜像的时候会提示权限不足的错误。

chmod -R 777 /opt/jenkins/data

启动一个自定义镜像的容器

docker run \
 --name jenkins-blueocean \
 --restart=on-failure \
 --detach \
 --network jenkins \
 --env DOCKER_HOST=tcp://docker:2376 \
 --env DOCKER_CERT_PATH=/certs/client \
 --env DOCKER_TLS_VERIFY=1 \
 --publish 8080:8080 \
 --publish 50000:50000 \
 --volume /opt/jenkins/data:/var/jenkins_home \
 --volume /opt/jenkins/certs/client:/certs/client:ro \
myjenkins-blueocean:2.375.1-1

至此,安装结束,访问http://localhost:8080,根据页面提示进行配置即可。

安装jdk

1)创建目录/opt/jenkins/data/externalTools

2)拷贝java安装包到此目录并解压缩

3)在jenkins管理界面,系统管理=》全局工具配置=》JDK

安装maven

1)创建目录/opt/jenkins/data/externalTools

2)拷贝maven安装包到此目录并解压缩

3)在jenkins管理界面,系统管理=》全局工具配置=》Maven

备注:最好安装一下插件“Maven Integration plugin”、“Pipeline Maven Integration Plugin”。

安装nodejs

1)创建目录/opt/jenkins/data/externalTools

2)拷贝nodejs安装包到此目录并解压缩

tar -xJvf node-$VERSION-$DISTRO.tar.xz

3)在jenkins管理界面,系统管理=》全局工具配置=》NodeJS

在使用时可能会遇到的问题

问题一:运行命令“yarn install”报错

The lockfile would have been created by this install, which is explicitly forbidden

yarn版本的问题,核对一下开发环境和打包这两个环境的yarn版本对不对吧,一般也就是版本1和版本2的问题。

问题二:jenkins yarn build found error

CI模式下会将所有的warnings当错errors

Treating warnings as errors because process.env.CI = true

系统管理==》系统配置==》全局属性,环境变量

键:CI
值:false

然后保存

docker
jenkins
ubuntu

关于作者

justin
123456
获得点赞
文章被阅读