DevOps全流程笔记,参考视频https://www.bilibili.com/video/BV17x4y1o75G
DevOps:就是一整套的工具链和一整套的体系方法把这套工具链串起来让开发工作和运行维护工作变得更加轻松
Jenkins负责代码什么时候构建、测试(Jenkins内部安装构建和测试工具)、发布以及如何部署
程序员把代码push到gitlab以后,Jenkins把代码pull下来,使用Maven或Gradle来build,然后测试,把可运行的软件发布到服务器,再基于容器进行部署
这里的前提是安装了git以及docker和docker-compose,若未安装可以参考https://git-scm.com和本人文章微服务项目的部署
关闭防火墙
systemctl stop firewalld
查看docker hub提供的gitlab相关
cd docker
docker search gitlab
docker pull gitlab/gitlab-ce:latest
查看镜像
docker images
创建docker-compose.yml文件(记得服务器IP要改)
启动容器
docker-compose up -d
直接访问external_url即可
进入到容器内部
docker exec -it gitlab bash
cat /etc/gitlab/initial_root_password
会显示出默认密码
然后就可以登录gitlab了,记得修改密码
克隆一个虚拟机镜像,开始maven安装
Jenkins最主要的工作就是将GitLab上可以构建的工程代码拉取并且进行构建,再根据流程可以选择发布到测试环境或是生产环境。
一般是GitLab上的代码经过大量的测试后,确定发行版本,再发布到生产环境。
拉取Jenkins镜像
docker pull jenkins/jenkins
编写docker-compose.yml
version: "3.1"
services:
jenkins:
image: jenkins/jenkins
container_name: jenkins
ports:
- 8080:8080
- 50000:50000
volumes:
- ./data/:/var/jenkins_home/
首次启动会因为数据卷data目录没有权限导致启动失败,设置data目录写权限
chmod -R a+w data/
修改镜像源
# 修改数据卷中的hudson.model.UpdateCenter.xml文件
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>https://updates.jenkins.io/update-center.json</url>
</site>
</sites>
# 将下载地址替换为http://mirror.esuni.jp/jenkins/updates/update-center.json
<?xml version='1.1' encoding='UTF-8'?>
<sites>
<site>
<id>default</id>
<url>http://mirror.esuni.jp/jenkins/updates/update-center.json</url>
</site>
</sites>
# 清华大学的插件源也可以
https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
再次重启Jenkins容器,访问Jenkins(需要稍微等会)
查看密码登录Jenkins,并登录下载插件
docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminPassword
选择需要安装的插件
下载完毕设置信息进入首页(可能会出现下载失败的插件)