Jenkins Gitlab

本文介绍了如何在Docker环境下安装并配置Jenkins,包括设置固定IP、DNS和关闭SELinux,然后启动Jenkins容器。接着,详细阐述了Jenkins从Gitlab获取代码的流程,包括生成和交换SSH密钥,创建Jenkins任务,配置Gitlab Hook以实现自动构建。最后,展示了如何测试自动拉取和构建过程。

Jenkins Gitlab

一、基本环境

1. docker

2. 主机名、IP、selinux

# 主机名
$ hostnamectl set-hostname jenkins

# 固定IP
$ nmcli connection modify ens33 ipv4.method manual ipv4.address 192.168.119.148/24 ipv4.gateway 192.168.119.2 autoconnect yes
$ nmcli con up ens33
# 通过修改网卡配置文件修改也可以

# DNS
$ echo "nameserver 192.168.119.2" >> /etc/resolv.conf

# selinux
$ setenforce 0
$ sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

二、Jenkins

1. 安装Jenkins

# 使用docker部署
$ docker pull jenkinsci/blueocean

$ docker images
REPOSITORY            TAG       IMAGE ID       CREATED        SIZE
jenkinsci/blueocean   latest    c56b701dbca2   15 hours ago   745MB

2. 启动Jenkins

# 创建卷
$ docker volume create jenkins_data

# 启动
$ docker run -d  -u root  --restart always \
                -p 8080:8080  -p 50000:50000  \
                -v jenkins_data:/var/jenkins_home \
                -v /var/run/docker.sock:/var/run/docker.sock \
                --privileged \
                --name jenkins-server \
                jenkinsci/blueocean

3. 防火墙

# 放行端口
$ firewall-cmd --add-port=8080/tcp --permanent 
$ firewall-cmd --add-port=50000/tcp --permanent 
$ firewall-cmd --reload 

# 关闭(实验环境)
$ systemctl stop firewalld
$ systemctl disable firewalld

4. 安装后设置向导

$ docker logs jenkins-server
...略...

Jenkins initial setup is required. An admin user has been created and a password generated.
Please use the following password to proceed to installation:

0901b4d2ab524d8aa4010054759ffd71

This may also be found at: /var/jenkins_home/secrets/initialAdminPassword

...略...
4.1 访问 192.168.119.128:8080

4.2 安装插件

4.3 创建管理员账户

4.4 开始使用

三、配置jenkins从Gitlab获取代码

1. 安装插件

2. gitlab创建项目

3. 建立一对公私密钥对

$ docker exec -it jenkins-server /bin/bash
$ su - jenkins
$ ssh-keygen -t rsa

4. 上传刚生成的公钥到gitlab

5. 将私钥添加到jenkins上

6. 在jenkins上创建任务

7. 添加项目仓库地址

$ docker exec -it gitlab-ce /bin/bash
$ cat /opt/gitlab/version-manifest.json | grep build_version
	  "build_version": "13.10.3",

8. 测试构建

四、配置Gitlab Hook

1. 添加插件

# 需要添加的插件
	Gitlab Hook
	Build Authorization Token Root
	Publish Over SSH
	Gitlab Authentication
	Gitlab
	Git Parameter

2. 配置构建触发器

# Dashboard ————> test-dev ————> 构建触发器

3. gitlab配置Hook

3.1 SSL验证取消

3.2 gitlab配置Hook

3.3 测试

3.4 可以到Jenkins上,看到项目会自动构建

五、Jenkins自动拉取

1. gitlab创建test-dev项目

$ git clone http://192.168.119.128:8081/development/test-dev.git
$ git checkout develop
$ echo "# this is test py file" > aaa.py
$ git add aaa.py
$ git commit -m "first aaa.py file"
$ git push -u origin develop

2. 查看gitlab项目

3. 查看Jenkins自动拉取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值