当前位置:   article > 正文

CI/CD

CI/CD

目录

1.什么是CI/CD?

2.Gitlab仓库部署

3.部署Jenkins

3.1 使用jenkins拉取代码

3.2 对代码进行编译、打包

4.部署tomcat服务器


1.什么是CI/CD?

通俗来说就是启动一个服务,能够监听代码变化,然后自动执行打包,发布等流程:

CICD 是持续集成(continuous Integration)和持续部署(continuous peployment)简称。指在研发过程中自动执行一系列脚本来降低开发引入 bug的概率,在新代码从开发到部署的过程中,尽量减少大工的介入。

CICD 核心:持续集成、持续部署、持续交付。

CI:continuous Intearation,表示持续集成
指在向远程仓库 push 代码后,在这次提交合并入主分支前进行一系列测试,构建等流程。

CD:Continuous Delivery,表示持续交付。
指在完成CI后可自动将已验证的代码发布到仓库。

持续交付的目标是拥有一个可随时部署到生产环境的代码库,

CD:Continuous Deployment,表示持续部署。
指在持续集成的基础上更进一步,指将推送指仓库默认分支代码部署到特定环境

通过自动化的构建、测试和部署循环来快速交付高质量的产品。某种程度上代表了一个开发团队工程化的程度,任何修改通过了所有己有的工作流就会直接和客户见面,只有当一个修改在工作流中构建失败才能阻止它部署到产品线

2.Gitlab仓库部署

初始化操作

  1. systemctl disable --now firewalld.service
  2. setenforce 0
  3. vim /etc/selinux/config
  4. 修改主机名
  5. hostnamectl set-hostname gitlab
  6. hostnamectl set-hostname jenkins
  7. hostnamectl set-hostname tomcat

部署gitlab

  1. cd /opt
  2. 上传gitlab-ce-12.4.8-ce.0.el7.x86_64.rpm
  3. rpm -ivh gitlab-ce-12.4.8-ce.0.el7.x86_64.rpm
  4. cd /etc/gitlab/
  5. vim gitlab.rb
  6. 23external_url 'http://192.168.9.113:82'
  7. 803行 sidekiq['listen_port'] = 82
  8. gitlab-ctl reconfigure #重新生成配置
  9. gitlab-ctl restart #重启

浏览器访问gitlab仓库


创建组群


创建项目

创建用户


用户加入组群


退出使用创建的用户登录

上传代码,仓库服务器

  1. cd /opt
  2. 上传web_demo.zip
  3. unzip web_demo.zip
  4. cd /root/web_demo
  5. #git做全局配置
  6. git config --global user.name "scj"
  7. git config --global user.email "scj@xy101.com"
  8. 推送现有文件夹
  9. git init
  10. git remote add origin http://192.168.9.113:82/xy101/web_demo.git
  11. git add .
  12. git commit -m "Initial commit"
  13. git push -u origin master

浏览器查看

3.部署Jenkins

  1. 上传jdk-17_linux-x64_bin.tar.gz jdk-8u391-linux-x64.tar.gz /opt
  2. tar xf jdk-17_linux-x64_bin.tar.gz
  3. tar xf jdk-8u391-linux-x64.tar.gz
  4. mv jdk-17.0.9/ /usr/local/
  5. mv jdk1.8.0_391/ /usr/local/
  6. vim /etc/profile
  7. export JAVA_HOME=/usr/local/jdk1.8.0_391
  8. export CLASSPATH=.:${JAVA_HOME}/lib
  9. export PATH=${JAVA_HOME}/bin:$PATH
  10. source /etc/profile
  11. java -version

  1. wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificate
  2. rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
  3. cd /etc/yum.repos.d/
  4. mv local.repo repo.bak/
  5. 上传阿里云在线源
  6. yum install epel-release -y
  7. yum install jenkins -y
  8. cd /usr/lib/systemd/system
  9. vim jenkins.service
  10. 34 User=root
  11. 35 Group=root
  12. 51 Environment="JAVA_HOME=/usr/local/jdk-17.0.9"
  13. systemctl start jenkins.service
  14. systemctl enable jenkins.service
  15. netstat -lntp | grep 80
  16. #替换插件更新源
  17. cd /var/lib/jenkins/
  18. sed -i 's#https://updates.jenkins.io/update-center.json#https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json#g' /var/lib/jenkins/hudson.model.UpdateCenter.xml
  19. sed -i 's#https://updates.jenkins.io/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' /var/lib/jenkins/updates/default.json
  20. sed -i 's#https://www.google.com#https://www.baidu.com#g' /var/lib/jenkins/updates/default.json
  21. systemctl restart jenkins

浏览器访问jenkins

选择插件安装——点击最上方无——安装

保存并完成——开始使用jenkins

安装中文插件刷新即可


3.1 使用jenkins拉取代码

安装git插件支持账号密码验证,完成后点击最上方Dashboard





新建item后先去gitlab克隆url路径


3.2 对代码进行编译、打包

  1. cd /opt
  2. 上传apache-maven-3.6.2-bin.tar.gz
  3. tar xf apache-maven-3.6.2-bin.tar.gz
  4. mv apache-maven-3.6.2 /usr/local/maven
  5. cd !$
  6. vim /etc/profile
  7. export MAVEN_HOME=/usr/local/maven
  8. export JAVA_HOME=/usr/local/jdk1.8.0_391
  9. export CLASSPATH=.:${JAVA_HOME}/lib
  10. export PATH=${MAVEN_HOME}/bin:${JAVA_HOME}/bin:$PATH
  11. source /etc/profile
  12. mvn -v #查看maven版本
  13. mkdir repo
  14. cd conf/
  15. vim settings.xml
  16. <localRepository>/usr/local/maven/repo</localRepository> #添加依赖包安装目录
  17. 159<mirror>
  18. <id>alimaven</id>
  19. <mirrorOf>central</mirrorOf>
  20. <name>aliyun maven</name>
  21. <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
  22. </mirror>

浏览器进行jenkins配置



设置系统全局变量

使用jenkins调用本地maven对拉去的代码进行打包


4.部署tomcat服务器

  1. cd /opt
  2. 上传apache-tomcat-9.0.16.tar.gz
  3. tar xf apache-tomcat-9.0.16.tar.gz
  4. mv apache-tomcat-9.0.16 /usr/local/tomcat
  5. cd /usr/local/tomcat/conf
  6. vim tomcat-users.xml
  7. <role rolename="tomcat"/>
  8. <role rolename="role1"/>
  9. <role rolename="manager-script"/>
  10. <role rolename="manager-gui"/>
  11. <role rolename="manager-status"/>
  12. <role rolename="admin-gui"/>
  13. <role rolename="admin-script"/> <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
  14. 在最后进行添加

  1. cd /usr/local/tomcat/webapps/manager/META-INF
  2. vim context.xml
  3. <!--
  4. <Valve className="org.apache.catalina.valves.RemoteAddrValve"
  5. allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
  6. -->
  7. 进行注释
  8. cd /usr/local/tomcat/bin/
  9. ./startup.sh

浏览器访问


部署新的网页应用到tomcat



跟新代码进行测试

  1. gitlab服务器
  2. cd /root/web_demo/src/main/webapp
  3. vim index.jsp
  4. 进行内容添加
  5. cd /web_demo
  6. git add .
  7. git commit -m "second commit"


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/1020964
推荐阅读
相关标签
  

闽ICP备14008679号