ITPub博客

首页 > 数据库 > 数据库开发技术 > CI/CD环境部署脚本(Jenkins+Maven+Git+Tomcat)

CI/CD环境部署脚本(Jenkins+Maven+Git+Tomcat)

原创 数据库开发技术 作者:运维book思议 时间:2023-05-11 22:14:41 0 删除 编辑

先放个链接,万一有人关注呢

优质文章推荐

↓ ↓ ↓ ↓ ↓

Linux系统初始化脚本

能够监控100台服务器的磁盘利用率的脚本——16行代码实现

Linux系统初始化脚本之二

Linux系统巡检脚本——快速获取当前系统信息

Linux远程执行脚本——Python运维脚本

哪个Linux发行版会成为CentOS的平替?

CI/CD是一个软件开发流程的概念,指的是持续集成(Continuous Integration)和持续交付/持续部署(Continuous Delivery/Deployment)。

CI/CD的目的是使软件开发更快速、更高效、更稳定。它主要解决的问题是将开发和部署过程自动化,从而加快软件开发的速度和质量,减少错误和失误。

下面分别介绍持续集成和持续交付/持续部署的概念和应用场景。

持续集成(CI)

持续集成指的是将开发人员的代码提交到代码仓库后,系统会自动地编译、测试和打包,以确保代码在集成后仍然可以正常运行。

持续集成的目的是让团队可以快速而又频繁地检查代码的质量,并及早发现和解决问题。持续集成可以使开发团队快速地回归到之前可运行的代码状态,从而避免了繁琐的手动测试和部署流程。

在持续集成中,开发团队需要有一个自动化的构建和测试系统,例如Jenkins或GitLab CI等。

应用场景:

在多人协作的项目中,持续集成可以帮助开发人员及时发现代码冲突和错误,加快问题的解决和合并代码的速度。

在快节奏的开发中,持续集成可以帮助团队更快速地迭代开发,降低风险和成本。

持续交付/持续部署(CD)

持续交付/持续部署是指将代码从集成后一直到部署和运行环境中的整个过程自动化,包括构建、测试、打包、部署和运行等。

持续交付/持续部署的目的是使开发人员可以将软件的变更快速地、可靠地、反复地交付给用户。在持续交付/持续部署的过程中,开发人员可以根据用户反馈和业务需求快速进行迭代和升级。

应用场景:

在大规模部署的场景中,持续交付/持续部署可以自动化整个部署过程,减少人工操作,提高效率和质量。

在快速迭代的开发中,持续交付/持续部署可以快速响应用户需求,满足市场需求。

环境部署示例

这里写一个Jenkins+Maven+git+tomcat环境的部署脚本,用于实现CI/CD。
#!/bin/bash
# 安装JDKsudo dnf install -y java-1.8.0-openjdk-devel
# 配置JDK环境变量echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk" >> ~/.bashrcecho "export PATH=\$PATH:\$JAVA_HOME/bin" >> ~/.bashrc
# 使环境变量生效source ~/.bashrc
# 安装Mavensudo wget https://mirror.bit.edu.cn/apache/maven/maven-3/3.8.3/binaries/apache-maven-3.8.3-bin.tar.gzsudo tar -xzvf apache-maven-3.8.3-bin.tar.gzsudo mv apache-maven-3.8.3 /opt/mavenecho 'export M2_HOME=/opt/maven' >> ~/.bashrcecho 'export PATH=$PATH:$M2_HOME/bin' >> ~/.bashrcsource ~/.bashrc
# 配置Maven环境变量echo "export M2_HOME=/usr/share/maven" >> ~/.bashrcecho "export PATH=\$PATH:\$M2_HOME/bin" >> ~/.bashrc
# 安装Gitsudo dnf install -y git
# 配置Git环境变量echo 'export PATH=$PATH:/usr/bin/git' >> ~/.bashrc
# 使环境变量生效source ~/.bashrc
# 安装Tomcatsudo wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gzsudo tar -xzvf apache-tomcat-9.0.54.tar.gzsudo mv apache-tomcat-9.0.54 /opt/tomcatsudo useradd -m -U -d /opt/tomcat -s /bin/false tomcatsudo chown -R tomcat: /opt/tomcat/sudo sh -c 'chmod +x /opt/tomcat/bin/*.sh'sudo cp /opt/tomcat/conf/tomcat-users.xml /opt/tomcat/conf/tomcat-users.xml.baksudo sed -i 's/<\/tomcat-users>/ <role rolename="manager-gui"\/>\n <user username="admin" password="admin" roles="manager-gui"\/>\n<\/tomcat-users>/' /opt/tomcat/conf/tomcat-users.xml
# 安装Jenkinssudo yum update -ysudo yum install wget java-1.8.0-openjdk-devel -ysudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.reposudo rpm --import http://pkg.jenkins.io/redhat-stable/jenkins.io.keysudo yum install jenkins -y

# 启动Jenkins服务sudo systemctl start jenkins.service# 配置Jenkins和Tomcatfirewall-cmd --permanent --zone=public --add-port=8080/tcpfirewall-cmd --permanent --zone=public --add-port=8081/tcpfirewall-cmd --permanent --zone=public --add-port=8009/tcpfirewall-cmd --reload
echo "Jenkins URL: http://localhost:8080/"echo "Tomcat URL: http://localhost:8081/"

# 配置Jenkins管理员密码echo "请在浏览器中打开 http://localhost:8080,按照提示进行Jenkins管理员密码的配置"

echo "部署Jenkins+Maven+Git+Tomcat环境完成"

结束!如有不足之处,欢迎指正!

我们的组织在这里:

欢迎新的小伙伴加入!在这里,我们鼓励大家积极参与群内讨论和交流,分享自己的见解和经验,一起学习和成长。同时,也欢迎大家提出问题和建议,让我们不断改进和完善这个平台。


原文作者:运维book思议;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-09-24

  • 博文量
    333
  • 访问量
    215249