首页主机资讯Jenkins在Ubuntu上如何自定义脚本执行

Jenkins在Ubuntu上如何自定义脚本执行

时间2025-11-29 02:35:03发布访客分类主机资讯浏览864
导读:在 Ubuntu 上自定义 Jenkins 脚本执行 一 准备与前提 确保已安装 Java 与 Jenkins,并启动服务;Ubuntu 上常用命令为:sudo apt update && sudo apt install...

在 Ubuntu 上自定义 Jenkins 脚本执行

一 准备与前提

  • 确保已安装 JavaJenkins,并启动服务;Ubuntu 上常用命令为:sudo apt update & & sudo apt install -y openjdk-11-jdk jenkins,随后执行 sudo systemctl start jenkins 与 sudo systemctl enable jenkins,访问 http://< 服务器IP> :8080 完成初始化。为拉取代码与扩展能力,建议安装 Git 与相关插件(如 Git 插件),插件可在 Web 界面“Manage Jenkins → Manage Plugins”中安装或更新。

二 方式一 Pipeline 项目执行自定义脚本

  • 创建任务:在 Jenkins 首页选择 New Item → Pipeline,命名并保存。
  • 定义脚本来源:
    • 内联脚本:在“Pipeline script”中直接编写 Groovy 流水线;
    • SCM 管理:选择“Pipeline script from SCM”,指定 Git 仓库与 Jenkinsfile 路径(如根目录或子目录)。
  • 示例 Jenkinsfile(位于项目根目录,提交到 Git): pipeline { agent any environment { APP_NAME = ‘myapp’ WORKSPACE = ‘/var/lib/jenkins/workspace/your-pipeline-job’ } stages { stage(‘Build’) { steps { sh ‘’’ chmod +x ${ WORKSPACE} /build.sh ${ WORKSPACE} /build.sh ‘’’ } } stage(‘Test’) { steps { sh ‘./test.sh’ } } stage(‘Deploy’) { steps { sh ‘./deploy.sh’ } } } post { success { echo ‘Build and deploy succeeded.’ } failure { echo ‘Build or deploy failed.’ } } }
  • 脚本放置与权限:将 build.sh / test.sh / deploy.sh 放入项目仓库,确保可执行(chmod +x)。在 Jenkins 任务中执行时,工作目录通常为 /var/lib/jenkins/workspace/< 任务名>

三 方式二 Freestyle 项目执行自定义脚本

  • 创建任务:选择 New Item → Freestyle project
  • 添加构建步骤:在“Build”区域点击 Add build step → Execute shell,输入要执行的命令或脚本路径,例如:
    • 直接命令:echo “Running custom script…” & & ./your_script.sh
    • 脚本文件:确保工作区中存在脚本并具备执行权限(chmod +x your_script.sh)。
  • 保存并构建:点击 Build Now,在“Console Output”查看执行日志与结果。

四 远程与批量执行示例

  • 场景:在 Jenkins 节点上运行脚本,通过 SSH 免密将构建产物分发到多台 Nginx 服务器。
  • 步骤:
    • 在 Jenkins 节点生成密钥并分发公钥到目标主机(如 10.0.0.13、10.0.0.14):ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa;ssh-copy-id 10.0.0.13;ssh-copy-id 10.0.0.14。
    • 编写部署脚本(如 /opt/scripts/deploy.sh): #!/bin/bash HOSTS=“10.0.0.13 10.0.0.14” APP=“bird” APP_PATH=“/var/www/html” rm -rf “$APP” git clone git@your-gitlab.com:dev/“$APP”.git for h in $HOSTS; do scp -r “$APP”/* “$h:$APP_PATH/” done
    • 在 Jenkins(Pipeline 或 Freestyle 的 Execute shell)中调用: chmod +x /opt/scripts/deploy.sh /opt/scripts/deploy.sh
  • 说明:该方式适合多机发布、回滚与滚动更新等自动化运维场景。

五 安全与排错要点

  • 权限与路径:脚本需有可执行权限(chmod +x);在 Pipeline 中可使用 environment 定义变量,使用 sh ‘’’ multi-line ‘’’ 编写多行 Shell;工作目录通常为 /var/lib/jenkins/workspace/< 任务名>
  • 工具与插件:确保节点已安装 Git 等依赖;如需扩展功能,使用“Manage Jenkins → Manage Plugins”安装或更新插件(如 Git 插件),必要时用 Jenkins CLI 批量管理插件。
  • 凭据与密钥:拉取私有仓库与远程部署建议使用 SSH 密钥Jenkins 凭据,避免明文密码;远程分发前先本地手动执行脚本验证连通性与权限。
  • 日志与通知:通过 post { success/failure } 输出关键信息,并结合邮件/企业微信/钉钉等通知插件实现构建结果告警。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Jenkins在Ubuntu上如何自定义脚本执行
本文地址: https://pptw.com/jishu/759760.html
Jenkins在Ubuntu上如何优化网络配置 Ubuntu Jenkins与Docker如何结合使用

游客 回复需填写必要信息