自动化运维(二)-docker 部署gitlab与jenkin实现
2020-04-26 11:19:19 42
docker部署gitlab与jenkin
“CI/CD”是最近运维圈子经常提到的一个词,中文叫做持续集成,持续交付。也是devops必会技能之一。如何快速简单的部署一套属于自己的CI/CD环境呢,当前最火的工具当属gitlab与jenkins.在gitlab部署一个私有的git仓库,开发人员可以进行敏捷开发,主程序员把控个开发人员提交的子版本,然后将稳定的代码合并到统一的分支。持续的交付则交给jenkins来完成,jenkins的pipeline可以集编译 测试 发布于一身,减少开发周期。
要点一:搭建docker环境(以centos为例)
yum install docker
要点二:下载gitlab的docker镜像并启动镜像
docker pull docker.io/gitlab/gitlab-ee #下载镜像
docker run --detach --publish 8443:443 --publish 8880:80 --publish 8222:22 --name gitlab --restart always --volume /srv/gitlab/config:/etc/gitlab --volume /srv/gitlab/logs:/var/log/gitlab --volume /srv/gitlab/data:/var/opt/gitlab docker.io/gitlab/gitlab-ee #启动镜像
·打开http://ip:8880 就能看到部署完的gitlab
至于gitlab的用法这里不详细展开,有兴趣可以到git的官网去了解更为详细的用法
要点三:jenkins的部署
docker run -d -p 8002:8080 -v /home/jenkins:/var/jenkins_home -v /etc/localtime:/etc/localtime:ro --name jenkins --restart=always docker.io/jenkins/jenkins
有两处地方要修改
docker exec -it jenkins bash#进入容器中
vi /var/lib/jenkins/updates/default.json(将www.google.com修改为www.baidu.com 这是jenkins判断是否联网的条目,如果国内使用不修改此处,会提示“该Jenkins实例似乎已离线”)
vi /var/jenkins_home/hudson.model.UpdateCenter.xml (将https修改为http)
docker restart jenkins#重启jenkins
docker exec jenkins bash -c ' cat /home/jenkins/secrets/initialAdminPassword'#获取密码
·输入网址:http://ip:8002
(此处输入刚才获取的密码)
安装完就像上图所示,我们已经完成了jenkins的安装了,至于如何使用gitlab和jenkins实现CI/CD,请看下篇《自动化运维(三):持续集成/持续交付》
睿江云官网链接:www.eflycloud.com