Jenkins的基本概述
Jenkins是一个广泛用于持续构建的可视化web工具,可用于自动化与构建、测试、交付或部署软件相关的各种任务。 可以通过安装包、tomcat、java、docker方式进行安装使用
CiCD介绍 CICD可以理解为管道,一个自动化流程,用于实现应用开发中的高度持续自动化和持续监控
持续集成(Ci) Ci指持续集成,它属于开发人员的自动化流程,成功的CI说明新的代码会定期或手动构建、测试并合并到共享存储库中,可以有效解决由于分支过多而导致相互冲突的问题
持续交付、持续部署(CD) CD指持续交付、持续部署,持续交付指开发人员将代码变更后会自动进行测试然后上传到共享存储库,然后由运维部署到生产环境中;持续部署指自动将变更的代码从共享存储库发布到生产环境。二者通常交叉使用,也可以单独使用,主要取决于自动化程度
工厂里的生产线以快速、可重复、自动化的方式将原材料生产为消费品,软件交付也是同样的道理,而如何完成这项工作的总体设计就是持续交付(CD),启动生产线的过程就是持续集成(CI),将最终产品提供给客户的过程就是持续部署(CD)
传统方式部署项目
- 将当前的项目打成一个jar包;
- 需要将该jar包上传到linux服务器中
- java -jar 指令 流水线 微服务----部署容器化运行
Jenkins的环境构建(npm方式)
官方地址:http://mirrors.jenkins-ci.org/redhat/ http://logaaaaa.oss-cn-beijing.aliyuncs.com/fujian/jenkins-2.335-1.1.noarch.rpm 在rpm安装文件的所在文件夹中,执行:
代码语言:javascript复制rpm -ivh jenkins-2.335-1.1.noarch.rpm
修改/etc/sysconfig/jenkins配置文件
代码语言:javascript复制vim /etc/sysconfig/jenkins
# 将JENKINS_USER改成="root"
修改 /etc/init.d/jenkins文件 有时候我们的java的安装文件是自己随便找一个java路径安装的,需要在jenkins配置文件中指定我们java文件的安装路径 启动jenkins
代码语言:javascript复制#启动jenkins
systemctl daemon-reload
systemctl start jenkins
#开放默认的8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
安装插件:
所需的插件: • Maven插件 Maven Integration plugin • 发布插件 Deploy to container Plugin 需要安装插件如下: 安装插件Deploy to container —支持自动化代码部署到tomcat容器 Git 插件 可能已经安装 Maven Integration :jenkins利用Maven编译,打包所需插件 Publish Over SSH :通过ssh连接
设置ssh
最后一个为访问的文件夹
配置jdk与maven
测试构建(springboot)
新建任务
发布
代码语言:javascript复制cd /var/lib/jenkins/workspace/blct/target/
#项目jar包名称
APP_NAME=blct-1.0.jar
#重启命令
pid=`ps -ef | grep $APP_NAME | grep -v grep |awk '{print $2}'`
if [ $pid ]; then
echo :App is running pid=$pid
kill -9 $pid
fi
BUILD_ID=DONTKILLME
nohup java -jar $APP_NAME> sm.log 2>&1 &