Bamboo项目自动化构建

Bamboo项目自动化构建

Bamboo项目自动化构建

文章目录

Bamboo项目自动化构建1 配置服务器Bamboo环境1.1 安装配置JDK8环境1.2 安装配置Bamboo环境

2 安装Docker3 构建Docker镜像1.1 项目需要的环境1.2 编写Dockerfile1.3 编译镜像1.4 上传到镜像仓库

4 准备代码仓库5 创建并配置Bamboo项目5.1 创建Bamboo项目5.2 创建plan并进行配置5.3 配置job

6 自动化构建演示7 项目构建文件存放位置

本文说明如何使用Bamboo实现Java项目的自动化构建。实现的功能是:能够轮询检测所连接的代码仓库,当检测到源代码更新时,使用Gradle自动进行项目构建,构建完成后可以查看构建日志,构建生成相关文件保存在Bamboo服务器上。

为实现这一功能完成了以下工作:

1、配置服务器Bamboo环境

2、安装Docker

3、构建所需要的Docker镜像

4、准备代码仓库

5、创建Bamboo项目并进行配置

在完成上述工作后,对自动化构建工作进行演示,查看构建结果,并在服务器上查找构建生成的相关文件。

1 配置服务器Bamboo环境

本节说明如何在一台服务器(Virtualbox Ubuntu20.04)上搭建Bamboo环境,需要安装并配置JDK8和Bamboo,配置完成后可以实现从浏览器访问Bamboo。

1.1 安装配置JDK8环境

本小节说明如何安装配置JDK8环境,需要下载源码压缩包,解压服务器上,在进行环境变量配置,最后进行测试,确认安装配置成功。

jdk8下载官网:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

下载好的安装包解压到/usr/local/software/java目录下

修改/etc/profile文件,添加一下内容

export JAVA_HOME=/usr/local/software/java/jdk1.8.0_301

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

测试java环境

1.2 安装配置Bamboo环境

本小节说明如何在服务器上安装Bamboo并进行配置。

参考官网安装教程:https://confluence.atlassian.com/bamboo0610/installing-bamboo-on-linux-980468671.html

首先需要下载源码压缩包,解压到服务器后,再创建一个bamboo-home目录

修改/usr/local/software/atlassian-bamboo-8.0.0/atlassian-bamboo/WEB-INF/classes/bamboo-init.properties,添加如下一行

bamboo.home=/usr/local/software/bamboo-home

进入安装目录执行bin目录中的启动脚本

cd /usr/local/software/atlassian-bamboo-8.0.0

./bin/start-bamboo.sh

启动成功后便可通过http:服务器ip:8085进行访问

初次访问需要进行一些配置,参看https://confluence.atlassian.com/bamboo0610/running-the-setup-wizard-980468696.html,按照步骤进行配置即可。

2 安装Docker

本节说明在服务器上安装Docker。

官方安装教程:

Ubuntu:https://docs.docker.com/engine/install/ubuntu/CentOS:https://docs.docker.com/engine/install/centos/

根据教程进行安装即可。

如需要修改docker镜像下载地址,修改/etc/docker/daemon.json即可

docker安装测试

安装成功

3 构建Docker镜像

本节说明项目构建需要的环境,通过Dockerfile在原始ubuntu镜像的基础上配置这些环境,编译一个新的镜像,并将其发布到国内镜像仓库,以供创建Bamboo项目时使用。

1.1 项目需要的环境

本小节说明构建项目需要的软件环境:JDK11和Gradle

下载JDK11源码包和Gradle源码包

JDK11源码包下载地址:https://www.oracle.com/java/technologies/javase-jdk11-downloads.html

Gradle源码包下载地址:https://gradle.org/releases/

1.2 编写Dockerfile

本小节根据上面项目软件环境需要编写Dockerfile文件

FROM ubuntu # 基于原始ubuntu构建

MAINTAINER dctwan

# 将jdk11和gradle源码安装包添加到/usr/local/software目录下

ADD jdk-11.0.12_linux-x64_bin.tar.gz /usr/local/software # tar.gz包可自动解压

ADD gradle-7.1.1-bin.zip /usr/local/software

# Dockerfile编译时执行的命令

RUN apt-get update # 更新ubuntu软件源

RUN apt-get -y install vim # 安装vim

RUN apt-get -y install unzip # 安装unzip用于解压gradle安装包

# 将gradle安装包解压到/usr/local/software/目录下

RUN unzip /usr/local/software/gradle-7.1.1-bin.zip -d /usr/local/software/

# 配置java和gradle的环境变量

ENV JAVA_HOME /usr/local/software/jdk-11.0.12

ENV GRADLE_HOME=/usr/local/software/gradle-7.1.1

ENV PATH $PATH:$JAVA_HOME/bin:$GRADLE_HOME/bin

1.3 编译镜像

本小节说明如何根据Dockerfile文件编译出docker镜像,并用生成的镜像测试项目需要的JDK11和Gradle环境

将JDK11和Gradle源码包和Dockerfile文件置于同一目录下,然后运行以下命令,进行编译

docker build -t myubuntu .

编译完成后可通过

docker images

查看已经编译生成的镜像

启动一个容器,测试java和gradle环境

docker run -it myubuntu

1.4 上传到镜像仓库

本小节说明将生成的镜像上传到阿里云镜像仓库

准备阿里云镜像仓库

# 登录

docker login --username=xxxx registry.cn-hangzhou.aliyuncs.com

# 给镜像打标签

docker tag 6eda9b9d9817 registry.cn-hangzhou.aliyuncs.com/dctwan/ubuntu_test:4.0

# push到镜像仓库

docker push registry.cn-hangzhou.aliyuncs.com/dctwan/ubuntu_test:4.0

4 准备代码仓库

本小节说明如何将给定项目上传到Bitbucket代码仓库

首先需要创建一个Repository

然后进入到项目目录中使用git命令

git init

git add .

git commit -m 'Inital commit'

git remote add origin https://code.management-systems.net/scm/~dechang.duan/testcode.git

git push -u origin master

# 接下来输入Bitbucket用户名和密码将源代码push到代码仓库

5 创建并配置Bamboo项目

本节说明如何创建一个Bamboo项目,包括创建项目、创建plan与配置、连接代码仓库、配置job、task创建与配置

5.1 创建Bamboo项目

点击Bamboo页面导航栏中Create,选中创建项目,填写相关信息,点击Save即可创建一个项目

5.2 创建plan并进行配置

点击Create plan,进入创建plan的页面,填写有关信息,点击Create即可创建一个plan,接下来进行连接代码仓库配置

连接到刚刚创建的代码仓库,使用用户名和密码进行授权,点击连接测试,显示成功连接,点击Save and continue

5.3 配置job

Docker images选用刚刚构建的镜像,当Bamboo启动构建时,自动从镜像仓库拉取镜像,并启动一个容器,在其中进行项目构建操作

镜像仓库地址:registry.cn-hangzhou.aliyuncs.com/dctwan/ubuntu_test:4.0

添加task,task为Bamboo在服务器上启动一个容器后在上面需要进行的任务

首先需要添加Source Code Checkout任务,接下来添加一个Scripts任务,说明要执行gradle构建命令

构建命令如下:

chmod +x gradlew

./gradlew bootjar

6 自动化构建演示

本节演示自动化构建结果

手动构建直接点击Run plan即可

可设置Trigger,Bamboo每隔一定时长便会轮询代码仓库,检测到源代码更新后会自动触发构建,自动触发构建结果如下,图示中

changes by 段德昌

即为触发本次构建的用户

可在commit中查看触发本次构建的源代码commit

7 项目构建文件存放位置

本节说明Bamboo启动容器进行构建,构建生成的相关文件存的位置

Bamboo启动容器时使用了数据卷挂载,具体挂载文件目录可在logs中查看

通过数据卷挂载即可实现容器中数据的持久化,即:容器在运行过程中产生的数据会被保存到服务器上,即便容器运行后被销毁,数据仍然存在。

进入到指定目录即可查看到生成的项目jar包

猜你喜欢

天价片酬:一个亿买鹿晗60天?果然是“贵”圈!
365彩票所有官方app下载平台

天价片酬:一个亿买鹿晗60天?果然是“贵”圈!

07-11 2399
葫芦娃三娃是什么娃
365彩票所有官方app下载平台

葫芦娃三娃是什么娃

07-06 7801
如何运行jar文件(超全超详细)2025年最新版
365彩票所有官方app下载平台

如何运行jar文件(超全超详细)2025年最新版

07-02 9725
实用临床手册:谈谈机械通气中常用的 PEEP
365bet体育在线中文网

实用临床手册:谈谈机械通气中常用的 PEEP

07-16 9639
昆虫科普|令人“刻骨铭心”的洋辣子,你还记得吗?
365彩票所有官方app下载平台

昆虫科普|令人“刻骨铭心”的洋辣子,你还记得吗?

07-16 7125
世界杯哪里竞猜_世界杯竞猜在哪里买的
bt365手机官方网址

世界杯哪里竞猜_世界杯竞猜在哪里买的

07-16 9121