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 页面出现。

image-20200615153617383

我们可以使用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插件

因为这个插件是去国外安装,下载速度比较慢,我们这里不进行安装,我们选择跳过安装

image-20200615153804227

创建admin 账户

image-20200615153901706

然后我们就进入到jenkins web页面了.

安装插件

我们采用默认的jenkins 站点去安装插件的时候,因为墙的原因我们安装插件很困难,所以我们第一步先替换一下升级所使用的站点

系统管理 --> 管理插件 --> 高级 --> 升级站点

image-20200615155457469

替换成地址http://mirrors.jenkins-ci.org/status.html 然后提交再去安装插件

安装语言插件 Locale plugin

原文地址:https://www.cnblogs.com/shoufu/p/13792905.html