赞
踩
目录
通俗来说就是启动一个服务,能够监听代码变化,然后自动执行打包,发布等流程:
CICD 是持续集成(continuous Integration)和持续部署(continuous peployment)简称。指在研发过程中自动执行一系列脚本来降低开发引入 bug的概率,在新代码从开发到部署的过程中,尽量减少大工的介入。
CICD 核心:持续集成、持续部署、持续交付。
CI:continuous Intearation,表示持续集成
指在向远程仓库 push 代码后,在这次提交合并入主分支前进行一系列测试,构建等流程。
CD:Continuous Delivery,表示持续交付。
指在完成CI后可自动将已验证的代码发布到仓库。
持续交付的目标是拥有一个可随时部署到生产环境的代码库,
CD:Continuous Deployment,表示持续部署。
指在持续集成的基础上更进一步,指将推送指仓库默认分支代码部署到特定环境
通过自动化的构建、测试和部署循环来快速交付高质量的产品。某种程度上代表了一个开发团队工程化的程度,任何修改通过了所有己有的工作流就会直接和客户见面,只有当一个修改在工作流中构建失败才能阻止它部署到产品线
初始化操作
- systemctl disable --now firewalld.service
- setenforce 0
- vim /etc/selinux/config
-
- 修改主机名
- hostnamectl set-hostname gitlab
- hostnamectl set-hostname jenkins
- hostnamectl set-hostname tomcat
部署gitlab
- cd /opt
- 上传gitlab-ce-12.4.8-ce.0.el7.x86_64.rpm
- rpm -ivh gitlab-ce-12.4.8-ce.0.el7.x86_64.rpm
-
- cd /etc/gitlab/
- vim gitlab.rb
- 23行 external_url 'http://192.168.9.113:82'
- 803行 sidekiq['listen_port'] = 82
-
- gitlab-ctl reconfigure #重新生成配置
- gitlab-ctl restart #重启
浏览器访问gitlab仓库
创建组群
创建项目
创建用户
用户加入组群
退出使用创建的用户登录
上传代码,仓库服务器
- cd /opt
- 上传web_demo.zip
- unzip web_demo.zip
- cd /root/web_demo
- #git做全局配置
- git config --global user.name "scj"
- git config --global user.email "scj@xy101.com"
- 推送现有文件夹
- git init
- git remote add origin http://192.168.9.113:82/xy101/web_demo.git
- git add .
- git commit -m "Initial commit"
- git push -u origin master
浏览器查看
- 上传jdk-17_linux-x64_bin.tar.gz jdk-8u391-linux-x64.tar.gz /opt
- tar xf jdk-17_linux-x64_bin.tar.gz
- tar xf jdk-8u391-linux-x64.tar.gz
- mv jdk-17.0.9/ /usr/local/
- mv jdk1.8.0_391/ /usr/local/
-
- vim /etc/profile
- export JAVA_HOME=/usr/local/jdk1.8.0_391
- export CLASSPATH=.:${JAVA_HOME}/lib
- export PATH=${JAVA_HOME}/bin:$PATH
-
- source /etc/profile
- java -version
- wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificate
- rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io-2023.key
- cd /etc/yum.repos.d/
- mv local.repo repo.bak/
- 上传阿里云在线源
-
- yum install epel-release -y
- yum install jenkins -y
-
-
- cd /usr/lib/systemd/system
- vim jenkins.service
- 34 User=root
- 35 Group=root
- 51 Environment="JAVA_HOME=/usr/local/jdk-17.0.9"
-
- systemctl start jenkins.service
- systemctl enable jenkins.service
- netstat -lntp | grep 80
-
- #替换插件更新源
- cd /var/lib/jenkins/
- 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
-
- sed -i 's#https://updates.jenkins.io/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' /var/lib/jenkins/updates/default.json
- sed -i 's#https://www.google.com#https://www.baidu.com#g' /var/lib/jenkins/updates/default.json
-
- systemctl restart jenkins

浏览器访问jenkins
选择插件安装——点击最上方无——安装
保存并完成——开始使用jenkins
安装中文插件刷新即可
安装git插件支持账号密码验证,完成后点击最上方Dashboard
新建item后先去gitlab克隆url路径
- cd /opt
- 上传apache-maven-3.6.2-bin.tar.gz
- tar xf apache-maven-3.6.2-bin.tar.gz
- mv apache-maven-3.6.2 /usr/local/maven
- cd !$
-
- vim /etc/profile
- export MAVEN_HOME=/usr/local/maven
- export JAVA_HOME=/usr/local/jdk1.8.0_391
- export CLASSPATH=.:${JAVA_HOME}/lib
- export PATH=${MAVEN_HOME}/bin:${JAVA_HOME}/bin:$PATH
-
- source /etc/profile
- mvn -v #查看maven版本
-
- mkdir repo
- cd conf/
- vim settings.xml
- <localRepository>/usr/local/maven/repo</localRepository> #添加依赖包安装目录
-
- 159行 <mirror>
- <id>alimaven</id>
- <mirrorOf>central</mirrorOf>
- <name>aliyun maven</name>
- <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
- </mirror>

浏览器进行jenkins配置
设置系统全局变量
使用jenkins调用本地maven对拉去的代码进行打包
- cd /opt
- 上传apache-tomcat-9.0.16.tar.gz
- tar xf apache-tomcat-9.0.16.tar.gz
- mv apache-tomcat-9.0.16 /usr/local/tomcat
- cd /usr/local/tomcat/conf
- vim tomcat-users.xml
- <role rolename="tomcat"/>
- <role rolename="role1"/>
- <role rolename="manager-script"/>
- <role rolename="manager-gui"/>
- <role rolename="manager-status"/>
- <role rolename="admin-gui"/>
- <role rolename="admin-script"/> <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,tomcat,admin-gui,admin-script"/>
-
- 在最后进行添加
- cd /usr/local/tomcat/webapps/manager/META-INF
- vim context.xml
- <!--
- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
- allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
- -->
- 进行注释
-
- cd /usr/local/tomcat/bin/
- ./startup.sh
浏览器访问
部署新的网页应用到tomcat
跟新代码进行测试
- gitlab服务器
- cd /root/web_demo/src/main/webapp
- vim index.jsp
- 进行内容添加
-
- cd /web_demo
- git add .
- git commit -m "second commit"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。