概述
本文将说明在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
然后保存