GitLab+Jenkins实现Devops持续集成
备注:环境的部署都是通过Docker容器进行部署的,Docker部署方式略一、GitLab代码仓库搭建拉取镜像docker pull gitlab/gitlab-ce创建gitlab相关的目录mkdir -p /opt/gitlab/configmkdir -p /opt/gitlab/logsmkdir -p /opt/gitlab/data启动容器dock...
·
备注:环境的部署都是通过Docker容器进行部署的,Docker部署方式略
一、GitLab代码仓库搭建
拉取镜像
docker pull gitlab/gitlab-ce
创建gitlab相关的目录
mkdir -p /opt/gitlab/config
mkdir -p /opt/gitlab/logs
mkdir -p /opt/gitlab/data
启动容器
docker run -itd -h gitlab -p 8443:443 -p 8081:8081 -p 8022:22 --name gitlab --restart always -v /opt/dinghh/gitlab/config:/etc/gitlab -v /opt/dinghh/gitlab/logs:/var/log/gitlab -v /opt/dinghh/gitlab/data:/var/opt/gitlab --privileged=true docker.io/gitlab/gitlab-ce
查看容器的日志
docker logs -f ${containerid}
修改配置
vim /opt/gitlab/config/gitlab.rb
external_url 'http://172.16.9.25:8081' // IP设置为服务器的IP地址
重启容器
docker restart gitlab
访问gitlab
// 可以查看日志等启动成功后在进行访问
// GitLab内置root用户,第一次登录的时候会设置root密码
http://host:8081
二、Jenkins部署
拉取镜像
docker pull docker.io/jenkinsci/blueocean
创建gitlab相关的目录
mkdir -p /opt/jenkins
启动容器
docker run -itd -p 8080:8080 -v /opt/jenkins:/var/jenkins_home --name jenkins --privileged=true --restart=always docker.io/jenkinsci/blueocean
查看容器日志
docker logs ${containerid}
可以看到启动成功后会有如下日志信息记录初始密码
访问Jenkins
第一次访问时会弹出如下界面
输入日志中的密码点击继续,之后会进行初始化工作
点击选择插件来安装
搜索GitLab并选择
三、配置Jenkins对接GitLab
GitLab配置
创建用户
建议专门创建一个devops用户用于对接Jenkins
使用devops用户登录,生成API Tokens
Jenkins配置
点击系统管理 - 系统配置,配置GitLab
[注意]不要勾选 Enable authentication选型
会要求增加一个Credentials配置,点击Add,类型选择GitLab API token,填写刚刚生产的api token信息
新建一个Jenkins任务
修改配置构建触发器,选择如下,记录webhook的地址
增加一个构建后步骤用于测试
GitLab创建项目
创建一个项目devops并设置该项目的Integrations
点击Add webhook
可以通过Test模拟Push测试
点击Push events之后查看Jenkins的任务,可以看到Jenkins任务已经被触发
更多推荐
已为社区贡献2条内容
所有评论(0)