1. 各主机中的工具配置
jenkins-server
docker配置
配置docker主机使用harbor,添加信任harbor-server中的私有仓库
(harbor仓库ip+端口号)
$sudo vim /etc/docker/daemon.json
# 写入
{
"insecure-registries": ["http://192.168.159.131:8077"]
}
重启docker
$systemctl restart docker
登录harbor主机中的docker仓库服务
$sudo docker login 192.168.159.131:8077
配置jenkins使用docker
验证系统中是否有jenkins用户
$grep jenkins /etc/passwd
验证系统中是否有docker用户及用户组
$grep docker /etc/group
添加jenkins用户到docker用户组
$sudo usermod -G docker jenkins
$grep docker /etc/group
重启jenkins服务
$systemctl restart jenkins
harbor-server
docker配置
同上
$sudo vim /etc/docker/daemon.json
# 写入
{
"insecure-registries": ["http://192.168.159.131:8077"]
}
$cat /etc/docker/daemon.json
重启docker-compose
$docker-compose down
$systemctl restart docker
$docker-compose up -d
web-server
docker配置
$sudo vim /etc/docker/daemon.json
# 写入
{
"insecure-registries": ["http://192.168.159.131:8077"]
}
$cat /etc/docker/daemon.json
重启docker
$systemctl restart docker
$sudo docker login 192.168.159.131:8077
2. 配置gitlab相关密钥
Windows
Windows下生成ssh密钥,并用ssh免密访问Linux服务器
$ssh-keygen
可以在 C:\User\XXX\ 文件夹下看到一个.ssh的文件夹,里面有两个文件
id_rsa.pub,就是公钥文件,需要给Linux服务器的管理者,让他将id_rsa.pub文件中的公钥内容注册到Linux中,以便能够通过ssh来访问该Linux服务器。公钥注册到Linux服务器后,就可以在本机ssh到远端Linux服务器,并访问了。
添加到gitlab ssh密钥中:
Jenkins
jenkins-server主机生成公钥,添加公钥至gitlab-ce
$ssh-keygen
$cat /home/l/.ssh/id_rsa.pub
配置jenkins-sever主机的私钥到凭据列表
$cat /home/l/.ssh/id_rsa
(注意这里要全部复制,包括首尾)
修改jenkins配置文件
$sudo vim /etc/default/jenkins
以root用户运行(因为上述操在作root用户下生成的公钥和私钥)
3. jenkins插件安装
- maven integration:用于编译JAVA项目
- git parameter:用于基于git版本提交进行参数构建项目
- gitlab:用于jenkins-server拉取项目
- Generic Webhook Trigger:用于项目自动化构建
- ssh:用于jenkins-server对web-server实施项目部署
4. Jenkins全局工具配置
JDK配置
Git配置
Maven配置
5. jenkins系统配置
主要配置jenkins-server通过ssh协议连接web-server
添加jenkins-server访问web-server凭据
测试连接是否成功(web-server对应的主机需要修改ssh配置允许用root账号密码连接):
$sudo vi /etc/ssh/sshd_config
重启
$service sshd restart
如果不行,应该是root密码错误,root密码不是开机解锁密码,忘记root密码可以修改root密码
$sudo passwd root
成功连接
各工具配置完成,接下来可以测试DevOps流水线是否搭建成功。