使用本地gitlab, jenknis 搭建一个自动化部署环境
配置
gitlab 配置
- 4G+内存
jenkins 配置
- 256MB内存
安装
- 先安装 gitlab
- 安装 jenknis
安装gitlab
# 拉取镜像
docker pull gitlab/gitlab-ce
# 创建目录
mkdir -p /home/gitlab/etc /home/gitlab/data /home/gitlab/logs
# 启动挂载
docker run --name='gitlab' -d -p 4443:443 -p 8888:80 \
-v /home/gitlab/etc:/etc/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
gitlab/gitlab-ce:latest
- 修改配置
vim /home/gitlab/etc/gitlab.rb
external_url 'http://192.168.56.130'
vim /home/gitlab/data/gitlab-rails/etc/gitlab.yml
## GitLab settings
gitlab:
## Web server settings (note: host is the FQDN, do not include http://)
host: 192.168.56.130
port: 8888
https: false
- 登录gitlab
安装需要等一会,访问 http://192.168.56.130:8888, 第一次需要改密码,默认使用 root登录
初始密码查看:
sudo docker exec -it gitlab grep 'Password:' /etc/gitlab/initial_root_password
登陆后必须修改密码,原始密码在登陆24之后,自动失效
- 创建项目
- wehhooks 配置
需要填写jenkis 的地址和认证,安装jenkins 后完善认证
安装jenknis
# 创建目录
mkdir -p /usr/jenkins_home
# 权限
chmod 777 /usr/jenkins_home
# 运行并挂载
docker run \
-u root \
-d \
-p 8080:8080 \
-p 50000:50000 \
-v /var/jenkins_home:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
jenkinsci/blueocean
-
访问
http://192.168.56.130:8080, 输入密码
-
输入密码登录
如果没有出现上面页面,安装出现错误,重装 -
修改配置
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
根据自己需求,安装插件。
-
安装成功
-
创建任务
选择的
流水线
,也可也i选其他方式
-
配置触发器
触发器有多种配置方式,本例使用Build when a change is pushed to GitLab. GitLab webhook
检测到变换,就触发 -
gitlab Webhook 配置
jekins 配置完成,回到gitlab, 配置Webhooks,jekins 配置
-
配置成功
-
测试
gitlab 添加一个文件,自动触发jenkis 任务