Jenkins 安装
jenkins 介绍
Jenkins 安装
Docker 安装 jenkins
准备 jenkins 镜像
到官网上查看当前 jenkins 的版本是什么,这里目前使用的是2.249.1
,然后拉去到本地推送到本地仓库
# docker pull jenkins/jenkins:2.249.1
# docker tag jenkins/jenkins:2.249.1 harbor.zsf.com/public/jenkins:2.249.1
# docker push harbor.zsf.com/public/jenkins:2.249.1
改造 jenkins 官方镜像
jenkins 的官方镜像对于我们并不能直接使用,我们来对此进行改造
FROM harbor.zsf.com/public/jenkins:2.249.1
MAINTAINER zhangshoufu wx: y18163201
USER root
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone
COPY id_rsa /root/.ssh/id_rsa
COPY config.json /root/.docker/config.json
COPY get-docker.sh /get-docker.sh
RUN echo "StrictHostKeyCheck no" >> /etc/ssh/ssh_config && \
/get-docker.sh
解释 Dockerfile
1,导入我们刚才从 docker hub 拉去的 jenkins 基础镜像
2,声明了 Dockerfile 的作者
3,更改 容器启动时候使用的用户,我们这里面使用 root用户,因为我们要执行 Docker 打包操作
4,更改 jenkins 容器内的时区为上海,
7,在宿主机上生成一个 SSH 秘钥对,把私钥拷贝到 jenkins 里面,因为我们要通过 SSH 的方式去 gitlab上拖取代码
8,因为我们要登录私有的 docker 仓库,所以我们把 docker 的登录仓库的 json 文件拷贝进去,在宿主机上/root/.docker/config.json,可以拷贝到当前路径,config.json 里面放的就是登录信息
9,我们需要在 jenkins 里面安装 docker客户端,使其能执行 docker 打包操作。此脚本通过
curl -fsSL https://get.docker.com -o get-docker.sh
获得10,取消 ssh 登录的时候秘钥验证,就是第一次登录机器的时候 接收秘钥 yes 的动作,并安装 docker 客户端,
创建 SSH 秘钥
# ssh-keygen -t rsa -b 2048 -C "zsf18163201@qq.com" -N "" -f ./id_rsa
# cp /root/.docker/config.json ./
# curl -fsSL https://get.docker.com -o get-docker.sh
# chmod +x get-docker.sh
# tree .
.
├── config.json
├── Dockerfile
├── get-docker.sh
├── id_rsa
└── id_rsa.pub
打包 Docker images
# docker build -f Dockerfile . -t harbor.zsf.com/infra/jenkins:2.249.1
# docker push harbor.zsf.com/infra/jenkins:2.249.1
运行 jenkins
mkdir -p /data/jenkins/home
chmod 777 /data/jenkins/home
docker run -d \
--name jenkins \
--restart always \
--net host \
-p 8080:8080 \
-p 50000:50000 \
-v /data/jenkins/home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
harbor.zsf.com/infra/jenkins:2.249.1
安装完成后登录地址为: http://ip:8080,等待一会之后,我们需要解锁jenkins
解锁jenkins
当您第一次访问新的Jenkins实例时,系统会要求您使用自动生成的密码对其进行解锁。
1, 浏览到 http://localhost:8080
(或安装时为Jenkins配置的任何端口),并等待 解锁 Jenkins 页面出现。
我们可以使用docker logs jenkins
来查看密码,或者到/var/jenkins_home/secrets/initialAdminPassword
查看密码
Jun 15, 2020 7:31:09 AM jenkins.install.SetupWizard init
INFO:
*************************************************************
*************************************************************
*************************************************************
Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:
b2ad30f3d08748508cbe3d8206d7c1e5 ##密码所在位置
This may also be found at: /var/jenkins_home/secrets/initialAdminPassword
*************************************************************
*************************************************************
*************************************************************
自动义jenkins插件
因为这个插件是去国外安装,下载速度比较慢,我们这里不进行安装,我们选择跳过安装
创建admin 账户
然后我们就进入到jenkins web页面了.
安装插件
我们采用默认的jenkins 站点去安装插件的时候,因为墙的原因我们安装插件很困难,所以我们第一步先替换一下升级所使用的站点
系统管理 --> 管理插件 --> 高级 --> 升级站点
替换成地址http://mirrors.jenkins-ci.org/status.html
然后提交再去安装插件
安装语言插件 Locale plugin