4.2 Jenkins的搭建、插件的安装与配置
本系列CI/CD 流程图
我们先来回顾一下本系列的CI/CD 流程图
所以我们现在就差最后一个Jenkins
工具,就可以做我们想要的持续集成,交付,部署的功能了。
本文参考该文后,验证成功后总结得出。
安装配置Jenkins
创建文件夹
mkdir -p /usr/local/data/jenkins/data
Docker Compose
我们继续使用Docker
进行安装
jenkins/docker-compose.yml
version: '3.7'
services:
jenkins:
user: root
container_name: jenkins
image: 'jenkins/jenkins:2.242'
restart: always
networks:
- cicd
environment:
- TZ=Asia/Shanghai
ports:
- '8080:8080'
- '50000:50000'
volumes:
- /usr/local/data/jenkins/data:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /bin/docker:/bin/docker # linux使用
networks:
cicd:
external:
name: cicd
注意哦,docker.sock跟docker表示在Jenkins里可以直接使用外部的docker命令了
启动
cd jenkins
docker-compose up -d
完全启动时间大约3分钟
安装插件
查询gitlab的IP
我们查询Gitlab
在Docker
容器里的ip
地址
docker inspect gitlab --format "{{.NetworkSettings.Networks.cicd.IPAddress}}"
容器内安装必备软件
等待3分钟后,我们进入Jenkins
容器内
docker exec -it jenkins /bin/bash
更新
apt-get update
安装gcc跟vim
apt install vim
apt install gcc
hosts
我们在Jenkins
容器里做一个跟gitlab
的域名映射。(IP
是我们上面查询的噢~)
172.21.0.3 git.guaosi.com
安装golang
# 下载
wget https://studygolang.com/dl/golang/go1.14.4.linux-amd64.tar.gz
# 解压
tar -C /usr/local -zxvf go1.14.4.linux-amd64.tar.gz
# 添加进环境变量
vim /etc/profile
# 在最后一行添加
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
# wq保存退出后source一下
source /etc/profile
给Jenkins换源
cd /var/jenkins_home/updates
sed -i 's/http:\/\/updates.jenkins-ci.org\/download/https:\/\/mirrors.tuna.tsinghua.edu.cn\/jenkins/g' default.json && sed -i 's/http:\/\/www.google.com/https:\/\/www.baidu.com/g' default.json
重启容器
docker restart jenkins
初始化
等待三分钟后,我们输入http://192.168.1.220:8080
。我们将会看到
我们进入容器中,然后执行
cat /var/jenkins_home/secrets/initialAdminPassword
将获得到的密码复制后输入。
插件安装
我们解锁后,不要跳过,直接将所有插件进行的安装。
额外插件安装
等完全安装完毕后进入到主界面。
进入Jenkins
-> Plugin Manager
页面安装以下插件(或者直接进入 http://localhost:8080/pluginManager/available):
- Localization: Chinese (Simplified)
- Publish Over SSH
- Gitlab
- Golang
配置插件
全局工具配置
GO
我们进入系统管理
-全局工具配置
,在Go
那一栏选择Go
安装,因为我们上面已经在Jenkins
容器里安装好go了,所以我们这里配置目录就好.
配置如下:
系统配置
我们进入系统管理
-系统配置
进行大体的配置
Gitlab
access_token
我们使用上一章中在自建Gitlab
中创建了仓库并且上传了代码的账户进行登录,然后根据下图获取access_token
配置
然后我们回到jenkins
的系统配置
。
到Gitlab
栏,勾选上Enable authentication for '/project' end-point
,然后点击Credentials
旁边的添加
-Jenkins
。然后按下图步骤添加
然后配置好,测试一下连通性。
Publish over SSH
找到Publish over SSH
配置,如下图所示(方便演示我是直接账户密码登录的,可以自行密钥登陆或者免密认证登录):