草庐IT

Docker部署的Jenkins更新版本

LuckyTHP 2023-04-18 原文

总体方法来说,就是去Jenkins容器内,替换jenkins.war为最新版本或者需要版本的war包,然后重启容器即可

在这之前,使用docker-compose部署了docker,其中的脚本配置如下。

1. 安装Jenkins

docker-compose.yml

version: '3'
services:
  jenkins:
    image: jenkins
    ports:
      - "8080:8080"
      - "50000:50000"
    volumes:
      - /var/jenkins/data:/var/jenkins_home
123456789

启动命令docker-compose up -d

2. 进入容器更新Jenkins版本

首先,进入容器,记得一定用root用户

docker exec -it -u root [container_id] /bin/bash
1

其次,执行命令查看java进程

jenkins@4e3e91f7c0d0:/$ ps -ef | grep java
jenkins      6     1  7 05:06 ?        00:01:32 java -jar /usr/share/jenkins/jenkins.war
jenkins    239   218  0 05:26 pts/0    00:00:00 grep java
123

这里就能发现,其实容器里面就是使用java启动了jenkins.war包,那么我们升级/usr/share/jenkins/jenkins.war就可以了。

3. 容器里面下载最新的war包

进入官网查看下载jenkins download
通过F12发现下载最新版本链接就是:http://mirrors.jenkins.io/war-stable/latest/jenkins.war
所有的war包地址:https://mirrors.tuna.tsinghua.edu.cn/jenkins/war/
然后可以直接在容器内通过wget命令下载jenkins.war包

root@4e3e91f7c0d0:/# cd /usr/share/jenkins/
root@4e3e91f7c0d0:/usr/share/jenkins# ls
jenkins.war  ref
// 备份原war包
root@4e3e91f7c0d0:/usr/share/jenkins# cp jenkins.war jenkins.war.2.60.3.bak
root@4e3e91f7c0d0:/usr/share/jenkins# ls
jenkins.war  jenkins.war.2.60.3.bak  ref
// 新建文件夹,存储新war包
root@4e3e91f7c0d0:/usr/share/jenkins# mkdir other-version
root@4e3e91f7c0d0:/usr/share/jenkins# ls
jenkins.war  jenkins.war.2.60.3.bak  other-version  ref
root@4e3e91f7c0d0:/usr/share/jenkins# cd other-version/
root@4e3e91f7c0d0:/usr/share/jenkins/other-version# ls
// wget下载新war包
root@4e3e91f7c0d0:/usr/share/jenkins/other-version# wget http://mirrors.jenkins.io/war-stable/latest/jenkins.war
123456789101112131415

然后就是等待,一个war包,大概63M

4. 删除原war包,使用新的替换即可

root@4e3e91f7c0d0:/usr/share/jenkins/other-version# cd /usr/share/jenkins
root@4e3e91f7c0d0:/usr/share/jenkins# rm jenkins.war
root@4e3e91f7c0d0:/usr/share/jenkins# cd other-version
root@4e3e91f7c0d0:/usr/share/jenkins/other-version# mv jenkins.war ../
1234

5. 退出容器,重启容器

sudo docker restart jenkins
1

有关Docker部署的Jenkins更新版本的更多相关文章

  1. ruby-on-rails - 如何验证 update_all 是否实际在 Rails 中更新 - 2

    给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru

  2. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  3. ruby-on-rails - 使用 rails 4 设计而不更新用户 - 2

    我将应用程序升级到Rails4,一切正常。我可以登录并转到我的编辑页面。也更新了观点。使用标准View时,用户会更新。但是当我添加例如字段:name时,它​​不会在表单中更新。使用devise3.1.1和gem'protected_attributes'我需要在设备或数据库上运行某种更新命令吗?我也搜索过这个地方,找到了许多不同的解决方案,但没有一个会更新我的用户字段。我没有添加任何自定义字段。 最佳答案 如果您想允许额外的参数,您可以在ApplicationController中使用beforefilter,因为Rails4将参数

  4. ruby-on-rails - 在 ruby​​ .gemspec 文件中,如何指定依赖项的多个版本? - 2

    我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这

  5. ruby-on-rails - 每次我尝试部署时,我都会得到 - (gcloud.preview.app.deploy) 错误响应 : [4] DEADLINE_EXCEEDED - 2

    我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie

  6. ruby-on-rails - 如果我将 ruby​​ 版本 2.5.1 与 rails 版本 2.3.18 一起使用会怎样? - 2

    如果我使用ruby​​版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby​​1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更

  7. ruby-on-rails - 获取 inf-ruby 以使用 ruby​​ 版本管理器 (rvm) - 2

    我安装了ruby​​版本管理器,并将RVM安装的ruby​​实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby​​。有没有办法让emacs像shell一样尊重ruby​​的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el

  8. ruby-on-rails - Ruby on Rails 可以部署在 Azure 网站上吗? - 2

    我可以在Azure网站上部署RubyonRails吗? 最佳答案 还没有。目前仅支持.NET和PHP。 关于ruby-on-rails-RubyonRails可以部署在Azure网站上吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/12964010/

  9. ruby-on-rails - 如何在发布新的 Ruby 或 Rails 版本时收到通知? - 2

    有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题:

  10. 【鸿蒙应用开发系列】- 获取系统设备信息以及版本API兼容调用方式 - 2

    在应用开发中,有时候我们需要获取系统的设备信息,用于数据上报和行为分析。那在鸿蒙系统中,我们应该怎么去获取设备的系统信息呢,比如说获取手机的系统版本号、手机的制造商、手机型号等数据。1、获取方式这里分为两种情况,一种是设备信息的获取,一种是系统信息的获取。1.1、获取设备信息获取设备信息,鸿蒙的SDK包为我们提供了DeviceInfo类,通过该类的一些静态方法,可以获取设备信息,DeviceInfo类的包路径为:ohos.system.DeviceInfo.具体的方法如下:ModifierandTypeMethodDescriptionstatic StringgetAbiList​()Obt

随机推荐