概述
Gitee
创建账号
快速开始:轻松在Gitee.com ( http://www.gitee.com)上创建你的账号和仓库,只需百度一下即可搞定!。
配置webHooks
进入需要配置WebHooks的仓库,选择管理Tab页。在左侧菜单找到'WebHooks'选项,一点击就会看到'添加webhooks'的按钮。。
然后,只需要填写URL并点击添加即可。(这个URL由Jenkins的webhook插件提供)
这一切都简单得就像是玩游戏一样!
springboot 工程
使用下面任何一种方法创建一个Spring boot 项目都可以。
1 使用Spring.io 官网创建。
2 使用Idea创建。
添加docker plugin
Pom.xml文件中添加docker plugin 插件。
<!-- Docker maven plugin start -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.2</version>
<configuration>
<imageName>dockerspringboot</imageName><!--[a-z 0-9] 不然docker:build会报错-->
<dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
<!-- Docker maven plugin end -->
添加代码管理 gitee
Dockerfile 文件
1 在项目的src 文件夹下面的main文件夹下创建docker文件夹。
2 在该文件夹下面创建Dockerfile文件。
Dockerfile 文件内容如下:
FROM openjdk:11-jre
VOLUME /tmp
ADD *.jar app.jar
EXPOSE 8082
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
Ubuntu
Ubuntu的版本使用 Ubuntu 20.04.4 LTS 不要使用22的版本。
如果是腾讯的服务器可以考虑增加root用户远程登录。
sudo passwd root
ftp安装与配置
//安装 VSFTPD 二进制包
$ sudo apt-get update
$ sudo apt-get install vsftpd
//使用如下命令启动FTP服务$ sudo systemctl start vsftpd
$ sudo systemctl enable vsftpd
//允许root用户远程登录
vi /etc/ssh/sshd_config
// 修改配置
#PermitRootLogin without-password 改为PermitRootLogin yes
//重启一下SSH,执行一下命令
/etc/init.d/ssh restart
//配置ftp
vi /etc/vsftpd.conf
write_enable=YES
//重启ftp
/etc/init.d/vsftpd restart
docker 安装
1 apt-get remove docker docker-engine docker.io containerd runc
2 apt update
3 apt-get install ca-certificates curl gnupg lsb-release
4 curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add –
5 sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
6 sudo apt-get install docker-ce docker-ce-cli containerd.io
7 systemctl start docker
8 apt-get -y install apt-transport-https ca-certificates curl software-properties-common
9 service docker restart
jenkins 容器
1 创建一个docker-compose.yml文件。
文件如下
version: '3.9'
services:
jenkins:
image: jenkins/jenkins:2.387.2-lts-jdk11
volumes:
- /data/jenkins/:/var/jenkins_home
- /var/run/docker.sock:/var/run/docker.sock
- /usr/bin/docker:/usr/bin/docker
- /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7
ports:
- "8080:8080"
- "8081:8081"
expose:
- "8080"
- "50000"
privileged: true
user: root
restart: always
container_name: jenkins
environment:
JAVA_OPTS: '-Djava.util.logging.config.file=/var/jenkins_home/log.properties'
TZ: Asia/Shanghai
2 通过ftp客户端上传到/var/local/Jenkins 目录
3 远程登录ubuntu服务器进入/var/local/Jenkins 目录。
cd /var/local/Jenkins
4 执行下面命令
Docker compose up
5 命令成功执行完成就可以启动服务器
访问 http://ip:8080/login?from=%2F
jenkins 插件安装与基础配置
1 访问 http://ip:8080/login?from=%2F
2 进入到jenkins 中/var/jenkins_home/secrets/initialAdminPassword获取密码
2.1进入jenkins docker exec -it jenkins /bin/bash
2.2 输入 cat /var/jenkins_home/secrets/initialAdminPassword 获取密码
3.选择jenkins 安装推荐的插件
4 安装插件
进入Dashboad 页面,左边选择 Manage Jenkins
右边选择 manage plugins
点击Available plugins
搜索并安装以下插件。
Deploy to container Plugin
Generic Webhook Trigger Plugin
5 系统配置
Dashboard -> Manage Jenkins -> Configure
配置Publish over ssh (一般在最下面)
6 Global Tool Configuration
6.1 JDK 配置
6.2 Maven 配置
如果maven 速度不快,可以更换maven的源。
使用下面命令找到maven 的配置文件。
find / -name *settings.xml
并加入阿里云的源。
item 创建与配置
1 将代码上传到码云。
2 新建一个item,在dashboard 中点击 new item 按钮
3 输入item name 并选择maven 点击ok。
4 在Source Code Management 下设置git 配置。
5 Build Triggers 下设置token 并把url copy到gitee。
6 在Post steps 下选择Execute shell并填入如下脚本
SERVER_NAME=dockerspringboot
#容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
#镜像id
IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
# 构建docker镜像
if [ -n "$IID" ]; then
echo "存在$SERVER_NAME镜像,IID=$IID"
docker stop $SERVER_NAME # 停止运行中的容器
docker rm $SERVER_NAME ##删除原来的容器
docker rmi $IID ## 删除原来的镜像
else
echo "不存在$SERVER_NAME镜像,开始构建镜像"
fi
mvn docker:build
echo "当前docker 镜像:"
docker images | grep $SERVER_NAME
echo "启动容器----->"
docker run --name dockerspringboot -p 8082:8082 -d $SERVER_NAME
echo "启动服务成功!"
7 点击build now(或者提交代码到gitee 的master分支下)
然后输入spring boot 发布的网址就可以看到效果。
注:在gitee提交代码到master就可以自动运行7。