Docker+Jenkins+Gitee自动化项目部署

前置条件

docker安装成功
按照下面配置加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://register.librax.org"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

一、拉取Jenkins镜像

docker pull jenkins/jenkins:lts
docker images #查看镜像

二、宿主机安装好maven

  • 命令下载
    wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
  • 官网下载后传到Linux服务器
  • 然后使用命令进行解压
tar -zxvf apache-maven-3.6.3-bin.tar.gz

解压需要解压到这个目录下面 /opt/develop_resource/apache-maven-3.6.3,因为后面再启动jenkins的时候需要挂载在他容器的目录里面

  • 宿主机上的 /opt/develop_resource/apache-maven-3.6.3 目录将会被挂载到 Docker 容器内的/opt/maven/apache-maven-3.6.3 目录上。
  • 如果/opt/maven/apache-maven-3.6.3 在容器内部不存在,Docker 会自动创建这个目录
  • 在容器运行期间,对 /opt/maven/apache-maven-3.6.3 内部所做的任何更改都会反映到宿主机的 /opt/develop_resource/apache-maven-3.6.3 目录中,反之亦然
  • 配置maven镜像加速
    在/opt/develop_resource/apache-maven-3.6.3/conf找到setting文件
    新增配置:
<mirrors>
	  <mirror>
    		<id>alimaven</id>
    		<mirrorOf>central</mirrorOf>
    		<name>aliyun maven</name>
    		<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
	  </mirror>
  </mirrors>

在这里插入图片描述

三、运行启动Jenkins

先在宿主机创建Jenkins的挂载目录

mkdir -p /home/jenkins/workspace

运行启动jenkins命令如下:

docker run -uroot -d --restart=always --privileged=true \
  -p 10240:8080 -p10241:50000 \
  -v /home/jenkins/workspace/:/var/jenkins_home/workspace \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /usr/bin/docker:/usr/bin/docker \
  -v /opt/develop_resource/apache-maven-3.6.3:/opt/maven/apache-maven-3.6.3 \
  -e MAVEN_HOME=/opt/maven/apache-maven-3.6.3 \
  -e PATH="/opt/maven/apache-maven-3.6.3/bin:/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" \
  --name jenkins jenkins/jenkins:lts

通过docker ps指令可以查看容器是否启动
在这里插入图片描述
Jenkins启动完整后进入容器查看maven是否配置正确

docker exec -it jenkins bash
mvn -v

在这里插入图片描述
四、浏览器访问Jenkins,ip+10240
注意:首次进入需要获取管理员密码,可以进入Jenkins容器查看

docker exec -it jenkins bash
cat /var/jenkins_home/secrets
这个目录下存了管理员密码

进入后可以新建一个账号,插件可选择性安装,这里略

五、Jenkins后台配置

  1. 配置maven
    在这里插入图片描述

    新增环境变量并保存
    注意这里的路径是根据启动容器来配置的
 M2_HOME  /opt/maven/apache-maven-3.6.3
 PATH+EXTRA  $M2_HOME/bin
  1. 安装必要的插件
    在这里插入图片描述
    在这里插入图片描述
    搜索框依次搜索并安装
  • gitee使用:Gitee
  • maven 插件:Maven Integration plugin
  • SSH远程连接插件:Publish Over SSH
  1. 配置环境
    在这里插入图片描述
    系统配置里找到gitee
    在这里插入图片描述
    在这里插入图片描述
    令牌获取地址

在这里插入图片描述
4. 配置ssh(还是在上面菜单,往下滑找到这个配置位置)
在这里插入图片描述
在这同时修改服务器密码
在这里插入图片描述
5. tool模块配置maven
在这里插入图片描述
在这里插入图片描述
这里配置的地址与前面配置的保持一致即可
6. 构建任务,新建自动化部署任务
在这里插入图片描述
在这里插入图片描述
选择第一个点击确定并进入任务配置
在这里插入图片描述
在这里插入图片描述

填写gitee仓位地址以及gitee认证信息

在这里插入图片描述
一直滑到最下面然后点击生成按钮 输入框中就会出现密码,将这个密码复制到gitee仓库
在这里插入图片描述
进入gitee代码仓库,将密码填入,
url:
在这里插入图片描述
配置轮询
在这里插入图片描述
7.下一步在添加构建步骤这里选择执行shell

#!/bin/bash
# 退出脚本如果任何一个命令失败
set -e
 
# 删除旧的Docker容器
echo "Removing old container..."
docker rm -f app_docker || true # 忽略错误,以防容器不存在
# 删除旧的Docker镜像
echo "Removing old image..."
docker rmi -f app_docker:1.0 || true # 忽略错误,以防镜像不存在
 
# 构建Java应用程序
# echo "Building Java application..."
mvn clean install -Dmaven.test.skip=true
 
# 构建新的Docker镜像
echo "Building new Docker image..."
docker build -t app_docker:1.0 -f ./src/main/docker/Dockerfile .
 
# 运行新的Docker容器
echo "Running new Docker container..."
docker run -d -p 8080:8080 --name app_docker app_docker:1.0
 
echo "Application is now running."

这里在贴上项目的dockerfile

# 指定是基于哪个基础镜像
#FROM java:8
#FROM registry.cn-hangzhou.aliyuncs.com/library/java:8-jdk
FROM eclipse-temurin:8-jdk

# 作者信息
MAINTAINER demo

# 挂载点声明
VOLUME /tmp

# 将本地的一个文件或目录,拷贝到容器的文件或目录里
ADD /target/demoProject-2.6.13.jar springboot.jar

#shell脚本
RUN bash -c 'touch /springboot.jar'

# 将容器的8080端口暴露,给外部访问。
EXPOSE 8080

# 当容器运行起来时执行使用运行jar的指令
ENTRYPOINT ["java", "-jar", "springboot.jar"]

#ENTRYPOINT ["java", "-jar", "/springboot.jar", "--spring.profiles.active=prod"]

改完之后通过git命令上传到gitee上面后,jenkins会自动的进行构建
在这里插入图片描述
最后成功了!!!
需要注意的是我暴露的端口是8080
这里shell命令中挂载的端口和dockerfile中暴露端口要一致才能进行

启动成功后查看docker进程
在这里插入图片描述

### 回答1: Jenkins是一款流行的自动化构建工具,可以用来自动部署Gitee项目。以下是大致的步骤: 1. 在Jenkins中安装Gitee插件,以便能够连接到Gitee仓库。 2. 在Jenkins中创建一个新的构建任务,选择“自由风格项目”。 3. 在构建任务的配置中,选择“源码管理”,然后选择Gitee作为源代码管理工具。输入Gitee仓库的URL和凭据信息。 4. 在构建任务的配置中,选择“构建触发器”,然后选择“轮询SCM”。这将使Jenkins定期检查Gitee仓库是否有新的提交。 5. 在构建任务的配置中,选择“构建环境”,然后选择“执行shell脚本”。在脚本中输入需要执行的命令,例如编译、打包、部署等。 6. 保存并运行构建任务。Jenkins将自动从Gitee仓库拉取最新的代码,并执行指定的命令。 需要注意的是,以上步骤仅为大致流程,具体操作可能会因环境和需求而有所不同。建议在实际操作中参考JenkinsGitee的官方文档,以确保正确性和安全性。 ### 回答2: Jenkins是一款开源的持续集成工具,具有很好的自动化部署功能。Gitee是国内一款非常流行的代码托管平台,许多开发者使用Gitee托管自己的代码并管理项目。本文将介绍如何使用Jenkins实现自动部署Gitee项目。 一、准备工作 1、安装Jenkins服务器; 2、安装Gitee插件; 3、在Gitee上创建一个代码仓库; 4、在Gitee上生成一个SSH公钥,并将其添加到Jenkins系统中。 二、创建Jenkins任务 1、登录Jenkins服务器; 2、点击“新建任务”,选择“构建一个自由风格的软件项目”; 3、输入任务名称; 4、填写代码仓库的SSH地址; 5、选择版本库的分支或标签; 6、填写用户认证信息(包括Gitee的用户名和私钥); 7、选择“Execute shell”或“Execute Windows batch command”以指定构建或部署脚本; 8、保存并离开。 三、构建Jenkins任务 1、点击任务名称; 2、点击“构建触发器”,选择“Build when a change is pushed to Gitee”; 3、点击“保存”并离开。 四、更新代码并触发构建 1、在Gitee上更新代码,推送到分支或标签; 2、等待Jenkins自动触发构建并部署代码。 总结来说,Jenkins自动部署Gitee项目的实现步骤主要是在Gitee上创建代码仓库并生成SSH密钥,然后在Jenkins上创建一个任务并配置任务的构建和部署脚本,最后在Gitee上更新代码并触发构建即可实现自动化部署Jenkins自动化部署功能极大地提升了代码管理和项目部署效率,许多开发者在实际开发中也会应用到这个功能。 ### 回答3: Jenkins是一种自动化部署工具,它可以帮助我们快速、自动化部署我们的代码。Gitee则是国内一个非常流行的代码托管平台,许多团队都选择在Gitee上进行项目管理、代码托管和协作开发。 在使用Jenkins自动部署Gitee项目之前,需要确保一些基础设施已经准备好。首先,你需要一台可以运行Jenkins的服务器。其次,你需要一个Gitee账户,以便可以在Gitee上创建和管理你的项目。最后,你需要一个可用的代码仓库,其中包含需要自动部署的代码。 安装Jenkins 在开始之前,你需要先安装Jenkins。你可以从Jenkins官方网站下载并安装Jenkins。按照官方文档的步骤进行安装即可。 创建Gitee项目 在你的Gitee账户上创建一个新的项目。在创建项目过程中,你需要选择Git仓库初始化方式、默认分支等等。确保在项目创建过程中勾选Git公钥。 设置Jenkins环境 安装好Jenkins之后,你需要设置Jenkins的环境,以便可以自动部署Gitee项目。你可以使用Jenkins插件来配置Jenkins环境。 安装插件 首先,你需要安装一些插件。这些插件可以帮助你完成自动化部署的各个步骤。你可以在Jenkins的Plugin Manager中搜索并安装这些插件。 配置插件 安装好插件之后,你需要按照各个插件的要求进行设置。这些设置包括项目名称、版本号、构建环境等等。 设置Git 接下来,你需要在Jenkins中配置Git。你需要提供Git仓库的URL、认证信息、分支等等。 配置构建脚本 在Jenkins中配置构建脚本。构建脚本用于编译代码、运行测试等等。你可以使用各种构建脚本语言,例如Bash、Python等等。 设置自动化部署 最后,你需要在Jenkins中设置自动化部署。你需要提供目标服务器的IP地址、认证信息、目标路径等等。在完成这些设置后,Jenkins就可以开始自动化部署Gitee项目了。 总结 使用Jenkins自动部署Gitee项目可以大大简化了开发流程,提高了团队的生产力和敏捷性。在上面的步骤中,你学习了如何安装Jenkins、创建Gitee项目、配置Jenkins环境、设置Git、配置构建脚本以及设置自动化部署。希望这些步骤能够帮助你快速上手使用Jenkins自动部署Gitee项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值