运维笔记
- DevOps基本流程
- Code阶段工具(gitlab安装)
- Build阶段工具(Maven安装)
- Integrate阶段工具Jenkins
- Jenkins介绍
- Jenkins安装
- Jenkins入门配置
- CI/CD操作
- 集成Sonar Qube
- 集成Harbor
- Jenkins流水线
- Kubernetes编排工具
DevOps全流程笔记,参考视频https://www.bilibili.com/video/BV17x4y1o75G
DevOps基本流程
DevOps:就是一整套的工具链和一整套的体系方法把这套工具链串起来让开发工作和运行维护工作变得更加轻松
- PLAN:开发团队根据客户的目标制定开发计划
- CODE:根据PLAN开始编码过程,需要将不同版本的代码存储在一个库中,
- BUILD:编码完成后,需要将代码构建并且运行
- TEST:成功构建项目后,需要测试代码是否存在BUG或错误。
- DEPLOY:代码经过手动测试和自动化测试后,认定代码已经准备好部署并且交给运维团队.
- OPERATE:运维团队将代码部署到生产环境中。
- MONITOR:项目部署上线后,需要持续的监控产品。
- INTEGRATE:然后将监控阶段收到的反馈发送回PLAN阶段,整体反复的流就是DevOps的核心,即持续集成、持续部署。
Jenkins负责代码什么时候构建、测试(Jenkins内部安装构建和测试工具)、发布以及如何部署
程序员把代码push到gitlab以后,Jenkins把代码pull下来,使用Maven或Gradle来build,然后测试,把可运行的软件发布到服务器,再基于容器进行部署
Code阶段工具(gitlab安装)
这里的前提是安装了git以及docker和docker-compose,若未安装可以参考https://git-scm.com和本人文章微服务项目的部署
关闭防火墙
systemctl stop firewalld
查看docker hub提供的gitlab相关
cd docker
docker search gitlab
安装最新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了,记得修改密码
Build阶段工具(Maven安装)
克隆一个虚拟机镜像,开始maven安装
Integrate阶段工具Jenkins
Jenkins介绍
Jenkins最主要的工作就是将GitLab上可以构建的工程代码拉取并且进行构建,再根据流程可以选择发布到测试环境或是生产环境。
一般是GitLab上的代码经过大量的测试后,确定发行版本,再发布到生产环境。
- Cl过程即是通过Jenkins将代码拉取、构建、制作镜像交给测试人员测试。
- 持续集成:让软件代码可以持续的集成到主干上,并自动构建和测试。
- CD过程即是通过Jenkins将打好标签的发行版本代码拉取、构建、制作镜像交给运维人员部署。
- 持续交付:让经过持续集成的代码可以进行手动部署。
- 持续部署:让可以持续交付的代码随时随地的自动化部署。
Jenkins安装
拉取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
选择需要安装的插件
下载完毕设置信息进入首页(可能会出现下载失败的插件)