爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      Jenkins 创建一个freestyle的Job

      首页 知识中心 其他 文章详情页

      Jenkins 创建一个freestyle的Job

      2023-06-14 09:05:26 阅读次数:457

      Jenkins,Job

      1、执行简单命令或脚本

      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      job配置页面:
      Jenkins 创建一个freestyle的Job
      由于每次构建都会生成很多构建产物,如果频繁构建会占用很多的空间,我们可以通过这几个选项控制构建产物的保留。一般建议选择保留最近5-10的构建为适宜。

      其他参数我们在后面再讲。
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      保存后,我们就创建了一个简单的freestyle job,点击意即构建执行一下,看看结果:
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      通过这个小例子,我们可以总结如下几点:

      1、可以使用Jenkins在页面执行任何需要在linux命令行的操作;

      2、就是我们前面讲到的,一定不要在生产环境中用root用户启动jenkins。

      2、配置使用Gitlab

      我们还是使用前面的my-freestyle Job,配置Job从Gitlab拉取frontend的代码到jenkins。

      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      此处的错误是我们现在还没有配置jenkins连接到Gitlab,由于Jenkins只是拉取Gitlab的代码,所以我们可以使用Gitlab的Deploy Key。

      1. 在Jenkins本地生成SSH Key:
      [root@node3 ~]# ssh-keygen -t rsa
      Generating public/private rsa key pair.
      Enter file in which to save the key (/root/.ssh/id_rsa): 
      Created directory '/root/.ssh'.
      Enter passphrase (empty for no passphrase): 
      Enter same passphrase again: 
      Your identification has been saved in /root/.ssh/id_rsa.
      Your public key has been saved in /root/.ssh/id_rsa.pub.
      The key fingerprint is:
      SHA256:R4I1NWcI//trqY6fvAdZZB0v8GMFkkBbwcDH/CAxtkA root@node3
      The key's randomart image is:
      +---[RSA 2048]----+
      |       .E=XOBo.+o|
      |       o =+OB+o.o|
      |      . . =o == .|
      |         o . .oo |
      |        S . .o   |
      |         .  o.   |
      |            .. . |
      |           o o+  |
      |          .oB=o. |
      +----[SHA256]-----+
      
      1. 配置Gitlab Deploy Key
        Jenkins 创建一个freestyle的Job
        Jenkins 创建一个freestyle的Job
        Jenkins 创建一个freestyle的Job
        Jenkins 创建一个freestyle的Job
        然后切换到frontend 仓库:
        Jenkins 创建一个freestyle的Job
        Jenkins 创建一个freestyle的Job
        Jenkins 创建一个freestyle的Job
        Jenkins 创建一个freestyle的Job
      2. 安装git并本地测试
      [root@node3 ~]# yum install git –y
      [root@node3 ~]# git clone git@192.168.56.12:web-site/frontend.git
      Cloning into 'frontend'...
      The authenticity of host '192.168.56.12 (192.168.56.12)' can't be established.
      ECDSA key fingerprint is SHA256:SjPoetHYvGBI08VxTdzYOys+QpjR5vLNbU9Obs2Lx9Q.
      ECDSA key fingerprint is MD5:39:3e:52:a1:45:9b:3e:23:72:e6:0d:0e:76:00:17:55.
      Are you sure you want to continue connecting (yes/no)? yes
      Warning: Permanently added '192.168.56.12' (ECDSA) to the list of known hosts.
      remote: Counting objects: 34, done.
      remote: Compressing objects: 100% (23/23), done.
      remote: Total 34 (delta 6), reused 18 (delta 0)
      Receiving objects: 100% (34/34), done.
      Resolving deltas: 100% (6/6), done.
      

      我们再次打开my-freestyle Job配置页面,
      Jenkins 创建一个freestyle的Job
      执行构建后,我们现在我们已经把代码拉到了我们Job的工作区
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job

      3、代码发布

      上面的示例我们已经实现Gitlab拉取地Jenkins本地,下面接下上面的示例,我们实现将代码发布到我们的服务器:

      1. 配置免密登录

      要实现无交互式的传输文件,执行命令,我们首先要保证Jenkins本机可以免密登录到目标主机。

      [root@node3 ~]# ssh-copy-id -i .ssh/id_rsa.pub 192.168.56.11
      /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_rsa.pub"
      The authenticity of host '192.168.56.11 (192.168.56.11)' can't be established.
      ECDSA key fingerprint is SHA256:lHsG8JxgHwQ3/xdLN/q+h8JtvlWKhtIJn0Zw2t99gb8.
      ECDSA key fingerprint is MD5:cf:dd:3e:ba:5e:75:24:ce:d4:cf:4f:db:63:3d:8d:6e.
      Are you sure you want to continue connecting (yes/no)? yes
      /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
      /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
      root@192.168.56.11's password: 
      
      Number of key(s) added: 1
      
      Now try logging into the machine, with:   "ssh '192.168.56.11'"
      and check to make sure that only the key(s) you wanted were added.
      
      [root@node3 ~]# ssh 192.168.56.11
      Last login: Thu Dec  7 08:50:52 2017 from 192.168.56.1
      [root@node1 ~]# exit
      logout
      Connection to 192.168.56.11 closed.
      
      1. 编写发布脚本

      我们实现将从Git拉到的代码打包,然后发布到node1的/data/web目录下。

      编辑我们的Job,在构建处输入如下代码:
      Jenkins 创建一个freestyle的Job
      构建执行成功后:
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      我们在Jenkins的工作区my-freestyle目录中生成web-11.tar.gz包,并且已经传送到了node1要求的目录下。

      在这里我们作以下两点解释:

      1、构建过程中命令执行的当前目录为:Jenkins主目录下workspace目录下Jobname目录;

      2、我们可以在脚本中使用Jenkins的各种环境变量,调用方式和我们在linux中调用系统变更方式相同,我们可以使用如下方式查看Jenkins的所有环境变量:
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job

      4、参数化构建

      上一节中我们介绍了如何使用Jenkins的环境变量,那么我们是不是可以在构建过程中,自定义变量,答案是肯定的,下面我们介绍Jenkins的参数化构建:

      配置项目,点击参数化构建过程:
      Jenkins 创建一个freestyle的Job
      我们看到有多好种类型的参数,我们常用的choice和string。

      1. choice Parameter

      choice给出多个选项,构建时可以手动选择参数,默认是第一行数据。

      Jenkins 创建一个freestyle的Job
      2. string Parameter:

      string提供一个文本输入框,使用字符串值的参数变量。
      Jenkins 创建一个freestyle的Job
      我们添加两个参数:
      Jenkins 创建一个freestyle的Job
      然后在我们脚本中调用:
      Jenkins 创建一个freestyle的Job
      保存后,我们发现:
      Jenkins 创建一个freestyle的Job
      点击Build with parameters:
      Jenkins 创建一个freestyle的Job
      点击开始构建,查看构建结果如下:
      Jenkins 创建一个freestyle的Job
      还有很多其他的可用参数:Boolean Parameter提供一个布尔选择,password Parameter参数提供一个类似密码的输入框,Git Parameter可以选择需要签出代码的分支、标签等。

      5、Git commit触发Jenkins 构建

      本次实验,我们新建一个freestyle Job,实现开发在本地向frontend 仓库dev 分支push 代码,Jenkins自动拉取dev分支的代码,然后进行构建后将代码发布到指定的服务器。

      1. 安装插件

      实现Jenkins与Gitlab的联动需要安装:Gitlab Authentication plugin、GitLab Plugin这两个插件。

      1. 配置Jenkins连接Gitlab

      系统管理—系统设置
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      我们转到GitLab上生成一个token:
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      我们复制生成的token,添加到jenkins:
      Jenkins 创建一个freestyle的Job
      选择刚才生成的认证
      Jenkins 创建一个freestyle的Job
      3. 新建frontend Job:

      我们使用复制的方式创建新的Job,

      Jenkins 创建一个freestyle的Job
      我们发现新生成的frontend-job配置与my-freestyle一样,我们可以在此基础做改动。

      源码管理部分:我们选择从dev分支拉取代码
      Jenkins 创建一个freestyle的Job
      构建触发器部分:
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      此选项主要配置Gitlab如何触发Jenkins Job构建,这里我们配置只有dev分支的push操作会触发构建,并生成一个token,在前面我们配置了Jenkins可以访问Gitlab,但是Gitlab并不能访问Jenkins,此的token用于配置Gitlab访问Jenkins(我们后面介绍)。

      构建部分我们设置如下:
      Jenkins 创建一个freestyle的Job
      4. 配置Gitlab仓库连接Jenkins

      在Gitlab中选择frontend仓库,点击settings下的Integrations:
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      URL与Secret Token的值来自刚才我们在Jenkins配置构建触发器部分,见下图。

      Jenkins 创建一个freestyle的Job
      完成配置后,我们进行测试,

       [root@node1 frontend]# git checkout dev
      Already on 'dev'
      Your branch is up-to-date with 'origin/dev'.
      [root@node1 frontend]# git branch
        1-index
        2-news
      * dev
        master
      [root@node1 frontend]# vim index.html 
      [root@node1 frontend]# git add .
      [root@node1 frontend]# git commit -m "modify index.html"
      [dev 17365f9] modify index.html
       1 file changed, 1 insertion(+)
      [root@node1 frontend]# git push origin dev
      Counting objects: 3, done.
      Delta compression using up to 2 threads.
      Compressing objects: 100% (3/3), done.
      Writing objects: 100% (3/3), 291 bytes | 0 bytes/s, done.
      Total 3 (delta 1), reused 0 (delta 0)
      remote: 
      remote: To create a merge request for dev, visit:
      remote:   http://192.168.56.12/web-site/frontend/merge_requests/new?merge_request%5Bsource_branch%5D=dev
      remote: 
      To 192.168.56.12:web-site/frontend.git
         a33914c..17365f9  dev -> dev
      

      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job
      Jenkins 创建一个freestyle的Job

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://alex007.blog.csdn.net/article/details/105784687,作者:Alex_996,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:k8s安装rabbitmq,yaml如何写?

      下一篇:Intellij Idea中 JDK 路径的设置

      相关文章

      2025-03-28 06:55:00

      Jenkins笔记:凭证

      Jenkins凭证是用于在Jenkins中进行受限操作时的凭据,这些凭据通常包括密码、私钥文件等敏感信息。通过凭证管理,Jenkins能够安全地与第三方应用程序和系统进行交互,如代码仓库(如GitHub、Gitlab)、云存储系统等。

      2025-03-28 06:55:00
      Jenkins , Pipeline , 仓库 , 使用 , 插件
      2025-03-28 06:50:00

      Jenkins的Pipeline中变量的使用

      在 Jenkins pipeline 中,环境变量可以通过 env 前缀来引用。

      2025-03-28 06:50:00
      env , Jenkins , pipeline , 变量 , 定义 , 环境变量
      2025-03-21 06:56:46

      CICD 小提示:Jenkins 中使用 shell for 循环报错

      CICD 小提示:Jenkins 中使用 shell for 循环报错

      2025-03-21 06:56:46
      image , Jenkins , shell , 脚本 , 解析 , 错误 , 问题
      2025-01-15 08:09:24

      同一pipeline中checkout多个代码方法:RelativeTargetDirectory用法

      同一pipeline中checkout多个代码方法:RelativeTargetDirectory用法

      2025-01-15 08:09:24
      jenkins , Jenkins , 仓库 , 代码
      2024-12-19 08:46:59

      【知识科普】作为一个开发不认识Jeninks怎么行

      Jenkins是一个开源的自动化服务器,广泛用于持续集成和持续交付(CI/CD)领域。它帮助开发团队自动化构建、测试和部署软件项目的过程。

      2024-12-19 08:46:59
      Jenkins , 插件 , 权限 , 构建 , 节点 , 角色 , 配置
      2024-12-17 08:21:45

      云原生学习笔记-云原生技术深入理解

      经过前面几天的学习,我们对云原生的基本概念、关键技术以及应用场景有了较为全面的了解。在第11天的学习中,我们将进一步深入理解云原生技术的核心要素,包括容器化、微服务架构、DevOps等,并探讨它们在实际项目中的应用和优势。

      2024-12-17 08:21:45
      compose , docker , Jenkins , 原生 , 容器 , 应用程序 , 构建
      2024-12-17 08:21:00

      【Kubernets】Job和CronJob的使用

      在Kubernetes中,Job和CronJob是两种用于处理批处理任务的资源对象,它们在实现上具有一定的差异,但都遵循了Kubernetes的控制器模式。

      2024-12-17 08:21:00
      Job , Kubernetes , Pod , 任务 , 优先级 , 设置
      2024-11-25 09:13:09

      Jenkins集成SonarQube保姆级教程

      Jenkins集成SonarQube保姆级教程

      2024-11-25 09:13:09
      Jenkins , 构建
      2024-11-18 09:09:27

      jenkins——参数化配置、插件安装以及Jenkins SSH 插件安装

      jenkins——参数化配置、插件安装以及Jenkins SSH 插件安装

      2024-11-18 09:09:27
      Jenkins , 插件
      2024-11-18 09:09:27

      jenkins——凭据管理

      jenkins——凭据管理

      2024-11-18 09:09:27
      gt , Jenkins
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5239128

      查看更多

      最新文章

      Jenkins笔记:凭证

      2025-03-28 06:55:00

      Jenkins的Pipeline中变量的使用

      2025-03-28 06:50:00

      CICD 小提示:Jenkins 中使用 shell for 循环报错

      2025-03-21 06:56:46

      【Kubernets】Job和CronJob的使用

      2024-12-17 08:21:00

      Jenkins集成SonarQube保姆级教程

      2024-11-25 09:13:09

      jenkins——凭据管理

      2024-11-18 09:09:27

      查看更多

      热门文章

      Gitlab相关漏洞

      2023-05-10 06:02:43

      Kubernetes----Job控制器

      2023-04-24 11:29:00

      Jenkins通过Tragger parameterized build on other projects插件实现一个项目之后触发我指定的其它项目

      2023-05-24 08:18:31

      Jenkins把当前项目生成的文件传到gitlab的分支上

      2023-06-15 06:05:15

      Jenkins----设置中文模式

      2023-04-24 11:29:24

      Jenkins设置流水线Pipeline定时任务

      2023-05-31 08:27:21

      查看更多

      热门标签

      linux java python javascript 数组 前端 docker Linux vue 函数 shell git 节点 容器 示例
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      Jenkins----设置中文模式

      Jenkins集成SonarQube保姆级教程

      Jenkins的Pipeline中变量的使用

      Jenkins设置流水线Pipeline定时任务

      Jenkins 编译的时候提示错误 JAVA_HOME environment

      jenkins——凭据管理

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号