基于Bitbucket和Bamboo的SpringBoot项目CICD(持续集成和部署)

基本概念

简单地说,Bitbucket是公司内部的Git远端源码管理工具,相当于Gitlab或Github;Bamboo是自动化运维工具,可以构建、打包、部署,相当于Jenkins。
可以前往Atlassian官网了解Bitbucket、Bamboo的详细信息:
What is Bitbucket?
What is Bamboo?
Integrating Bamboo with Bitbucket Server

准备工作

进入bamboo -> create plan -> add job (or default job) -> add task
对bamboo project / plan / job 分别命名。
在这里插入图片描述
添加任务可以使用搜索功能:
在这里插入图片描述

添加任务

按顺序添加如下任务:

  1. 从bitbucket仓库checkout代码。
    选择正确的代码仓库即可。
    在这里插入图片描述
  2. 使用Maven 3.x编译bpm-manager项目,打出jar包。
    add task -> 搜索"maven",选择Maven 3.x
    这一步要求bamboo服务器上已安装maven,这样在Executable中才会有maven选项。只需在Goal中执行mvn install命令,配置Build JDK为JDK 1.8即可,其他均采用默认配置。
    注意:Working subdirectory需要配置为pom.xml文件所在路径,本例中无需填入任何路径,因为默认便是bpm-manager的根路径,也就是pom文件所在路径。
    在这里插入图片描述
  3. ssh 命令远程杀死远程占用80端口的进程,即 java 相关进程。
    add task -> 搜索“script”并选中
    只需在Script Body处输入ssh命令,注意,此时目标主机与bamboo主机之间应该已经配置好了SSH免密验证。
ssh root@ip "pkill java" 

其他默认即可。
在这里插入图片描述

  1. 使用 SCP 命令将jar包发送到目标服务器的指定路径下。
    add task -> 搜索“scp”并选中
    Host 处填入目标服务器 IP,认证方式采用用户名密码。
    Local Path 处填入jar包与项目根路径的相对位置,即:target/xxx.jar,如果在后面的Task执行过程中失败,那么可以根据日志中的路径报错信息来重新确定jar包所在位置。
    Remote Path处填入目标服务器存放jar包的位置。
    在这里插入图片描述
  2. ssh 命令远程运行jar包。
    同第3步,其他保持默认,在Script Body处填入:
  ssh [email protected] "cd /opt/bpm-manager; nohup java -jar bpm-manager-0.0.1-SNAPSHOT.jar > nohup.log 2>&1 &"

在这里插入图片描述

执行计划

run -> run plan
在这里插入图片描述
可以看到计划在本次的执行是成功的:
在这里插入图片描述

发布了79 篇原创文章 · 获赞 322 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_15329947/article/details/91881031
今日推荐