Jenkins部署-配合gitee 实现自动化部署maven项目

环境准备

服务器ip
jenkins10.120.147.11
测试环境(tomcat)10.120.147.200

操作系统:CentOS7

安装包资源

Maven3.6.1:https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/apache-maven-3.6.1-bin.tar.gz

Tomcat8:https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.64/bin/apache-tomcat-8.5.64.tar.gz

JDK1.8:https://download.oracle.com/otn/java/jdk/8u271-b09/61ae65e088624f5aaa0b1d2d801acb16/jdk-8u271-linux-x64.tar.gz

Jenkins2.277.1:http://mirrors.jenkins.io/war-stable/2.277.1/jenkins.war

 

jenkins环境部署

# 10.120.147.11服务器
# 安装jdk,配置java环境变量
[root@bld147-11 src]# tar -xf jdk-8u271-linux-x64.tar.gz -C /opt
[root@bld147-12 java]# ln -s /opt/jdk1.8.0_271/ /opt/jdk
​
# 最后加上
[root@bld147-11 src]# vi /etc/profile
export JAVA_HOME=/opt/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
​
[root@bld147-21 java]# . /etc/profile
[root@bld147-11 src]# java -version
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)
​
# 安装maven,配置maven环境变量
tar xf apache-maven-3.6.1-bin.tar.gz -C /opt
ln -s /opt/apache-maven-3.6.1/ /opt/maven
​
# maven配置
# 设置国内镜像源
vi /opt/maven/conf/settings.xml
<mirror>
      <id>aliyun</id>
      <mirrorOf>*</mirrorOf>
      <name>Nexus aliyun</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
​
# 配置maven环境变量
vi /etc/profile
export MAVEN_HOME=/opt/maven
export PATH=${PATH}:${MAVEN_HOME}/bin
​
. /etc/profile
​
# 验证
maven -v
Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T15:00:29-04:00)
Maven home: /opt/maven
Java version: 1.8.0_271, vendor: Oracle Corporation, runtime: /opt/jdk1.8.0_271/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-1127.el7.x86_64", arch: "amd64", family: "unix"
​
# 安装git,这里采用yum的方式
yum install -y git 
git --version
​
# yum 安装git 根目录/usr/bin/git

tomcat测试环境部署

# 10.120.147.200服务器
# 安装jdk,配置java环境变量
[root@bld147-11 src]# tar -xf jdk-8u271-linux-x64.tar.gz -C /opt
[root@bld147-12 java]# ln -s /opt/jdk1.8.0_271/ /opt/jdk
​
# 最后加上
[root@bld147-11 src]# vi /etc/profile
export JAVA_HOME=/opt/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
​
[root@bld147-21 java]# . /etc/profile
[root@bld147-11 src]# java -version
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)
# 安装tomcat
wget https://mirrors.bfsu.edu.cn/apache/tomcat/tomcat-8/v8.5.64/bin/apache-tomcat-8.5.64.tar.gz
tar xf apache-tomcat-8.5.64.tar.gz -C /opt/
ln -s /opt/apache-tomcat-8.5.64/ /opt/tomcat
cd /opt/tomcat/bin/
rm -rf *.bat
./startup.sh

浏览器访问jenkins,配置

 

登录之后先选择“推荐安装”,稍后自行安装相关插件

更改密码

admin/admin@123

 

jenkins安装插件

# jenkins安装插件
Deploy to container
Maven Integration
GitHub Authentication
GitHub Branch Source
GitHub Organization Folder
Publish Over SSH
Subversion

Manage Jenkins -> Manage Plugins ->可选插件

 

jenkins全局工具设置

系统管理 -> 全局工具设置(Global Tool Configuration),配置jdk.git,maven的根目录

 

 

 

 

jenkins服务器准备秘钥认证

10.120.147.11jenkinx服务器上的maven将开发产生的war包,通过SSH自动推送到远程tomcat服务器,需要手动配置ssh key。防止推送过程中输入密码。

ssh-keygen
ssh-copy-id -i 10.120.147.200

 

 

新建任务

 

 

 

 

 

开始构建

 

 

浏览器访问

http://10.120.147.200:8080/test/hello

 

Jenkins Pipeline是一种基于Groovy脚本的任务自动化流程,它可以让你在Jenkins创建和管理持续集成(CI)和持续部署(CD)流程。将Jenkins Pipeline用于自动部署GitLab或Gitee项目的步骤通常包括以下几个部分: 1. **设置Jenkins**: - 安装并配置Jenkins服务器,如果还没有的话。 - 使用`git`插件克隆Gitee仓库:`git url-of-your-gitee-repo` - 添加阶段(`stages`),比如`clean`, `build`, `deploy`,分别对应清理、构建部署操作。 - 在`build`阶段,可以编写构建Docker镜像、编译代码等步骤。 - 在`deploy`阶段,通过`publishArtifacts`发布构建结果到特定位置,例如`gitee-maven-publish-plugin`可以帮助你将Maven artifacts推送到Gitee仓库。 ```groovy pipeline { agent any stages { stage('Checkout') { steps { git 'https://your_gitee_username@github.com/your_project.git' } } stage('Build') { steps { sh 'mvn clean install' } } stage('Deploy') { steps { publishArtifacts artifacts: 'target/*.jar', fingerprint: true // 或者你的其他部署文件 script { def giteeCredentialsId = 'your_gitee_credential_id' // 从Jenkins全局凭证库获取Gitee登录信息 sh """ echo "Publishing artifact to Gitee..." ./scripts/deploy-to-gitee.sh ${env.BUILD_NUMBER} ${env.GIT_COMMIT} $giteeCredentialsId """ } } } } } ``` 3. **配置安全认证**: -Jenkins全局凭证库中创建一条新的凭证,用于存储Gitee的用户名和密码(或SSH密钥),并将这个ID引用到pipeline脚本中。 4. **触发构建**: - 配置触发条件,如提交到特定分支、拉取请求或者定时构建。 5. **测试和调试**: - 在每次改动pipeline脚本后,手动触发一次构建以确保一切正常。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值