首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过作业备份和更新Jenkins插件,而不是手动

通过作业备份和更新Jenkins插件,而不是手动
EN

Stack Overflow用户
提问于 2016-12-08 18:31:59
回答 2查看 357关注 0票数 1

我希望创建一个Jenkins 2管道作业,它将备份aws中主节点的映像,然后更新任何需要更新的Jenkins插件。目标是在停机时每3-4天运行一次,以确保所有内容都是最新的,而无需手动完成登录aws、进行备份、登录到jenkins和更新插件等所有步骤。

经过大约一个小时的研究,我甚至没有找到这两个步骤中的任何一个的部分解决方案,所以我正在向社区伸出援助之手。

  1. 是否有可能在aws中构建一个支持Jenkins 的管道作业,如果可以,如何实现?
  2. 一个Jenkins插件更新可以由作业触发吗?如果是,如何触发?

如果这两件事都做不到,我会感到震惊,但作为詹金斯的菜鸟,我正在挣扎。

顺便说一句,我看过/研究过thinBackup,但它似乎没有我想要的选择。如果我错了,请纠正我!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-08 22:25:45

  1. 要进行完整备份,只需复制$JENKINS_HOME目录即可。在管道的外壳步骤中应该是可行的。
  2. 要更新插件,您可以从更新服务器中获取最新的hpi文件,并将其复制到$ Jenkins _HOME/plugins中,然后重新启动Jenkins。或者,您可以使用Groovy脚本来使用Jenkins内部API来完成它。
票数 0
EN

Stack Overflow用户

发布于 2020-02-04 12:43:01

您可以使用Scriptler插件在Jenkins主上从Jenkins作业执行以下groovy脚本

代码语言:javascript
复制
import jenkins.model.Jenkins

def uc = Jenkins.instance.updateCenter
uc.updateAllSites()

uc.updates.each {
    print('Updating ' + it.title + ' Plugin from ' + it.installed.version + ' to ' + it.version + ' ...\n')
    it.deploy().get()
}

您还可以在部署新插件后,安排保存重新启动以激活新插件版本。

代码语言:javascript
复制
Jenkins.instance.safeRestart()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41046447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档