基于docker的Jenkins-Gitlab-Ansible实现自动化部署
环境准备安装docker,略。拉取Jenkins、Gitlab镜像docker pull jenkinsdocker pull gitlab-ce部署Jenkins生成Jenkinssudo docker run -itd -p 3003:8080 -p 50000:50000 --name jenkins --privileged=true-v /home/hzq/jen...
环境准备
安装docker,略。
拉取Jenkins、Gitlab镜像
docker pull jenkins
docker pull gitlab-ce
部署
Jenkins
生成Jenkins
sudo docker run -itd -p 3003:8080 -p 50000:50000 --name jenkins --privileged=true -v /home/hzq/jenkins:/var/jenkins_home jenkins
Jenkins工作空间:/home/hzq/jenkins/workspace/
查看jenkins日志
sudo docker logs jenkins
启动jenkins
sudo docker start jenkins
查看jenkins容器是否启动
sudo docker ps
进入/home/hzq/jenkins目录找到密钥
(这一步非常重要,因为我第一次就忘了这件事,浏览器登录时突然想起来,我的密码在哪呢?各位童鞋千万不要像我一样)
顺便跟大家分享一下,在我docker run之后报了一个错:
/usr/bin/docker-current: Error response from daemon: oci runtime error: container_linux.go:235: starting container process caused “process_linux.go:258: applying cgroup configuration for process caused “Cannot set property TasksAccounting, or unknown property.””.
其实这个错误我好像以前也遇到过,只不过那时候我用的还是自己笔记本上的虚拟机,系统版本CentOS 7.2下载最新版本的docker-ce就会出现这个问题,其实本质是Linux和docker的版本不兼容问题。
外国人是这样说的(以下内容请自行翻译):
RHEL 7.2 is no longer supported and Docker does not test their release against unsupported versions. You need to upgrade your OS, preferably to 7.4, to resolve this issue.
I've seen a few people with similar issues in the past few days that resolved this same error message by upgrading their OS. Some of the older packages no longer work with newer docker releases. One of those problems is an outdated libseccomp: https://github.com/moby/moby/issues/35906
然后我换了另一台CentOS 7.6 版本的虚拟机一试就没事了,今天没想到在阿里云的ECS服务器上又遇到了这个问题,仔细一想好像我的云服务器安的确实是CentOS 7.2版本的系统,只能说圣斗士又被同样的招数打倒了一次希望大家不要跟我一样哦。
Gitlab
启动Gitlab容器
sudo docker run --detach \
--hostname 192.168.88.100 \
--publish 443:443 --publish 80:80 --publish 10022:22 \
--name gitlab \
--restart always \
--volume /data/gitlab/config:/etc/gitlab \
--volume /data/gitlab/logs:/var/log/gitlab
--volume /data/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce:latest
我第一次做这个的时候就踩了不少坑
- hostname一定要在这里改了,虽然以后也不是不能改,但是现在直接设置多方便
- 443端口和80端口都可以直接映射,22端口千万不要直接映射本机的22端口,也不要少映射哪个端口
- restart一定要设置为always,要不然你都来不及焐热
- 磁盘映射也不要省,这几个路径都是必须的
接下来就是Jenkins整合Gitlab、Jenkins整合ansible了,我在之前服务器直接部署时已经做过一遍,过程几乎完全一样,如果有童鞋想看详细过程的可以去我博客里找(其实就是我懒得截那么多图)。
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)