jenkins部署gitee项目以及遇到的问题

本文介绍了如何配置码云与Jenkins进行自动化部署,包括设置项目地址、脚本内容以及解决部署过程中遇到的权限错误和文件格式问题。在部署过程中,出现了两个问题:1) sh脚本执行权限不足,通过命令行或WinSCP修改权限解决了问题;2) sh文件因格式问题报错,参考相关博客解决了意外结束的文件错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

码云+jenkins配置步骤:

1:写个名字

2: 添加项目地址和码云帐号密码:

 3.其他选项,没使用webhook,因为就是不想用

4:写个脚本执行

 

注4:脚本内容记录如下 

hulkStop.sh

# 将应用停止
#hulkStop.sh
#!/bin/bash
echo "Stopping SpringBoot Application"
pid=`ps -ef | grep hulk-0.0.1-SNAPSHOT.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill

<think>好的,用户现在想知道如何在Jenkins中配置拉取和构建Gitee的解决方案或指南。首先,我需要回忆之前提供的引用内容,看看有哪些相关信息可以利用。引用[1]提到了使用流水线方法,配置参数化构建,选择Git参数,并修改脚本路径为Jenkinsfile。引用[2]涉及配置远程服务器和构建后的命令执行,比如传输jar包和运行日志的位置。引用[3]则指出权限问题,比如公钥认证失败的错误,这可能和SSH配置有关。 用户的问题集中在配置步骤上,可能需要分步骤的指导。首先,安装必要的插件,比如Gitee插件和Git插件,这是基础。然后配置JenkinsGitee的连接,可能需要生成SSH密钥对,并将公钥添加到Gitee仓库的部署密钥中,确保Jenkins有权限拉取代。这一步如果没做好,可能会出现引用[3]中的权限被拒绝问题。 接下来是创建流水线任务,用户可能需要参数化构建,比如通过标签或分支来拉取代,如引用[1]中提到的使用${tag}代替master。然后配置流水线的Git仓库地址和认证方式,这里需要注意使用正确的SSH或HTTPs链接,以及对应的凭据。 编写Jenkinsfile是关键部分,需要定义各个阶段,如拉取代、构建、部署。构建阶段可能涉及Maven或Gradle命令,部署阶段可能需要将构建产物传输到远程服务器,并执行启动命令,如引用[2]提到的停止旧进程和启动新jar包。 另外,构建后的操作,比如日志管理和清理旧构建,也是需要考虑的。用户可能希望查看构建后的日志,或者自动清理旧版本以节省空间。 在安全方面,确保凭据正确配置,使用SSH密钥而不是密,避免权限问题。同时,如果使用私有仓库,必须正确配置部署密钥或访问令牌,避免出现引用[3]的错误。 可能用户在实际操作中会遇到问题,比如构建失败如何处理,或者如何调试流水线脚本。因此,在回答中需要提到测试连接、查看构建日志和检查网络配置等常见问题解决方法。 总结下来,配置流程大致分为安装插件、配置连接、创建任务、编写流水线脚本、处理构建后的步骤以及安全配置和问题排查。需要一步步引导用户完成每个环节,确保每个步骤都清晰,并提示可能的错误和解决方案。</think>### Jenkins配置Gitee拉取与构建完整指南 #### 一、基础环境准备 1. 安装必要插件 - Gitee Plugin:提供Gitee仓库集成能力 - Git Plugin:支持Git版本控制操作 - Pipeline:实现持续交付流水线 - SSH Agent:管理SSH密钥认证[^1] 2. 配置全局凭据 - 进入`Manage Jenkins > Credentials > System` - 添加SSH密钥(类型选`SSH Username with private key`) - 将Gitee账户的公钥添加到仓库的`Deploy Keys`[^3] #### 二、创建流水线任务 ```groovy pipeline { agent any parameters { gitParameter name: 'tag', type: 'PT_TAG', defaultValue: 'master' } stages { stage('拉取代') { steps { git url: 'git@gitee.com:yourname/repo.git', credentialsId: 'gitee-ssh-key', branch: "${params.tag}" } } stage('构建') { steps { sh 'mvn clean package' } } stage('部署') { steps { sshPublisher( publishers: [ sshPublisherDesc( configName: 'prod-server', transfers: [ sshTransfer( sourceFile: 'target/*.jar', removePrefix: 'target/', remoteDirectory: '/opt/app' ) ], execCommand: ''' ps -ef | grep java | grep -v grep | awk '{print $2}' | xargs kill -9 nohup java -jar /opt/app/*.jar > /root/mylog.log 2>&1 & ''' ) ] ) } } } } ``` #### 三、关键配置说明 1. 参数化构建配置 - 在任务配置页勾选`参数化构建过程` - 添加`Git参数`定义版本选择器[^1] - 使用`${tag}`动态获取用户输入的标签值 2. 构建后操作配置 - 通过`SSH Publisher`插件实现文件传输与命令执行 - 日志文件默认输出到`/root/mylog.log`[^2] - 自动终止旧进程避免端口冲突 #### 四、常见问题排查 1. 连接拒绝问题 - 测试SSH连接:`ssh -T git@gitee.com` - 检查密钥权限:`chmod 600 ~/.ssh/id_rsa` - 确认Gitee仓库的部署密钥已启用[^3] 2. 构建失败处理 - 查看控制台输出:`Build > Console Output` - 检查网络连通性:`ping gitee.com` - 验证Maven配置:`settings.xml`仓库地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值