Linux虚拟机(服务器)安装jenkins实现自动部署Gitee中的项目到服务器。

安装前注意:

        安装jenkins,必须先安装jdk。而且jdk的本版必须与jenkins软件的版本对应,且jdk的版本必须为11以上且不能是20版本。

1.安装并配置jdk

        可以查看我之前的文章,这里不再说明(等下放一个链接)。

2.安装jenkins的依赖的插件

这里我使用的是finalshell连接的虚拟机

在finalshell中执行命令:yum install fontconfig

3.下载与自己安装的jdk版本对应的jenkins

https://mirrors.jenkins.io/war/

这里我用的是jdk17,所以我下载的是2.419版本

4.将下载的jenkins.war拖到finalshell中

自己建一个目录拖进来即可

5.启动jenkins

执行命令:

nohup java -jar /usr/app/jenkins.war  --httpPort=8777  > /usr/app/jenkins.log 2>&1 &

注意:下面圈住的地方,改为你自己放jenkins.war的绝对路径(全路径)。

6.浏览器访问jenkins服务器

http://192.168.145.128:8777    ip改为自己对应的ip

7.登录

第一次登录时,页面会弹出一个命令,复制到finalshell中就可以获得临时密码。登录后可以在右上角的设置中修改密码。

8.jenkins集成jdk

9.jenkins集成git

9.1jenkins所在的服务器安装git

在finalshell中输入命令:yum -y install git

9.2jenkins集成git软件

10.jenkins集成maven

10.1下载Linux版本的Maven

Maven – Download Apache Maven

10.2.安装配置Maven

1. 解压maven压缩包
2. 重命名
3. 配置环境变量 vi /etc/profile
#####MAVEN环境变量#####
export MAVEN_HOME=/usr/app/maven3.9.6
export PATH=$MAVEN_HOME/bin:$PATH

注意这里的路径按照你自己的安装路径写


4. 刷新配置 source /etc/profile
5. 配置maven的本地仓库和远程镜像
      <!-- 中央仓库在中国的镜像 -->
        <mirror>
            <id>alimaven</id>
            <name>aliyun maven</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>

10.3.jenkins安装maven插件

10.4.集成本地的maven

11.jenkins与gitee绑定

11.1创建git仓库

11.2创建jenkins项目

11.3.使用内网穿透软件

默认gitee不允许内网访问gitee中的代码

注意:这里如果使用的是服务器而不是虚拟机则可以忽略这个步骤。

在该网址https://natapp.cn/注册一个账号 并购买免费的隧道,并下载客户端

11.4.启动natapp穿透软件

解压后自己创建一个start.bat文件,文件中输入以下内容。然后双击start.bat启动软件。

 11.5.配置创好的项目

11.6.修改Gitee的内容

12.jenkins完成自动部署功能

思考:项目部署的服务器和jenkins所在的服务器要不要是同一台。==不要再同一台服务器==

原因:jenkins所在的服务器需要安装很多软件。jenkins所在的服务器消耗资源非常大。如果项目和jenkins再同一台服务器,势必会造成项目卡。

解决: 把jenkins所在的服务器,打包好的项目复制到部署的服务器。

12.1.设置免密操作

12.1.1.为什么要设置免密操作:复制到部署项目的服务器,需要每次输入密码,所以这里需要设置免密操作,避免每次输入密码。从而实现自动复制。

12.1.2.在jenkins机器上使用root用户生成秘钥注意此处是root用户

12.1.3生成秘钥的命令:ssh-keygen -t rsa        然后按3次回车

12.1.4.运行后会在当前用户的根目录生成一个.ssh文件夹

12.1.5..ssh文件夹中的文件描述

  • id_rsa : 生成的私钥文件

  • id_rsa.pub : 生成的公钥文件

12.1.6.接下来需要将公钥导入到认证文件中

命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

12.1.7.如果希望ssh公钥生效需满足至少下面两个条件:

  • .ssh目录的权限必须是700

  • .ssh/authorized_keys文件权限必须是600

12.1.8.给对应文件授权

分别输入下面两个命令:

chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

12.1.9.将authorized_keys文件拷贝到另一台部署项目的服务器的root用户.ssh目录下

12.1.9.1 在部署项目的服务器上用root用户创建/root/.ssh文件夹。  命令:mkdir -p /root/.ssh

12.1.9.2 在jenkins服务器上将pub公钥文件拷贝到应用服务器的.ssh目录下

命令:scp -p ~/.ssh/id_rsa.pub root@192.168.223.187:/root/.ssh/authorized_keys

注意:这里192.168.223.187改为你自己的部署项目的服务器的ip

12.1.10.在jenkins服务器上进行免密连接测试.

scp -p ~/.ssh/id_rsa.pub root@192.168.223.187:/root/.ssh/authorized_keys

这里根据需要自己改ip和要复制的文件。发现不需要输入密码就能复制成功。

12.2.实现自动部署项目

1.

然后放入下面的代码

#!/bin/bash

echo "部署的目录和项目名称"
DIR="/data/app"
projectName="my-boot"

echo "待部署的应用服务器,可多台"
server_ips="172.16.3.81"
for server_ip in ${server_ips[@]}
do

echo "ssh连接进行备份操作"
ssh -Tq -oStrictHostKeyChecking=no root@${server_ip} <<EOF
mkdir -p $DIR/backup/${projectName}
mkdir -p $DIR/${projectName}
if [ -f "$DIR/${projectName}/${projectName}.jar" ];then
  mv $DIR/${projectName}/${projectName}.jar $DIR/backup/${projectName}/${projectName}-`date "+%Y%m%d_%H%M%S"`.jar 
fi
EOF

echo "拷贝jar包到目标服务器的tmp目录"
scp -q -oStrictHostKeyChecking=no ${WORKSPACE}/target/*.jar root@${server_ip}:/tmp/${projectName}.jar

echo "ssh远程连接进行发布操作"
ssh -q -oStrictHostKeyChecking=no root@${server_ip} <<EOF
mv /tmp/${projectName}.jar $DIR/${projectName}/${projectName}.jar

sh $DIR/${projectName}/stop.sh
sh $DIR/${projectName}/start.sh
EOF
done

echo "success"

2.在部署项目的服务器的my-boot.jar目录下创建strat.sh和stop.sh并写相应代码

start.sh中代码:

#!/bin/bash
set -e #任何命令出错就退出
set -o pipefail

APP_ID=my-boot
APP_DIR="/data/app"

nohup java -jar ${APP_DIR}/${APP_ID}/${APP_ID}.jar > release_out.log &
start_ok=false
if [[ $? = 0 ]];then
        sleep 3
        tail -n 10 release_out.log
        sleep 5
        tail -n 50 release_out.log
fi
aaa=`grep "Started" release_out.log | awk '{print $1}'`
if [[ -n "${aaa}" ]];then
    echo "Application started ok"
    exit 0
else
    echo "Application started error"
    exit 1
fi

stop.sh中代码:

#!/bin/bash

APP_ID=my-boot
ps aux | grep ${APP_ID} | grep -v "grep" | awk '{print "kill -9 "$2}' | sh

修改strat.sh和stop.sh权限:

chmod 777 start.sh
chmod 777 stop.sh

到这里当你每次提交新的代码到远程仓库时,jenkins会自动帮你编译打包并部署项目到服务上并运行了。

  • 17
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答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项目

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丶君莫笑丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值