部署为生产服务器
Deploy as production server
我在 Git 中有一个项目,其中 Docker 文件描述了生产服务器。代码和 Docker 文件由 Jenkins 在专用机器(物理 CI 服务器)上构建。成功构建后,我将在 远程 主机(另一个物理部署服务器)上的容器中部署此映像。
最简单的方法是什么?是否有任何 Jenkins 插件可以部署 image/container 在远程 Docker(在另一台机器上)
如果您让远程主机轮询 Jenkins 以查看最新构建是否成功,情况如何?也许 cron 可以帮助您安排它。然后如果最新状态== "SUCCESS"拉取最新的git/docker图像和运行。
我在 serverfault.com、https://serverfault.com/questions/309848/how-can-i-check-the-build-status-of-a-jenkins-build-from-the-command-line
上找到了这个脚本
脚本的第一个参数是Jenkins上的项目名称。该脚本将连接到您的 Jenkins 实例,查看 jenkinsURL 参数,并检查最新构建是否成功。
#!/usr/bin/python
#
# author: ajs
# license: bsd
# copyright: re2
import json
import sys
import urllib2
jenkinsUrl = "https://jenkins.example.com/job/"
if len( sys.argv ) > 1 :
jobName = sys.argv[1]
else :
sys.exit(1)
try:
jenkinsStream = urllib2.urlopen( jenkinsUrl + jobName + "/lastBuild/api/json" )
except urllib2.HTTPError, e:
print "URL Error: " + str(e.code)
print " (job name [" + jobName + "] probably wrong)"
sys.exit(2)
try:
buildStatusJson = json.load( jenkinsStream )
except:
print "Failed to parse json"
sys.exit(3)
if buildStatusJson.has_key( "result" ):
print "[" + jobName + "] build status: " + buildStatusJson["result"]
if buildStatusJson["result"] != "SUCCESS" :
exit(4)
else:
sys.exit(5)
sys.exit(0)
我在 Git 中有一个项目,其中 Docker 文件描述了生产服务器。代码和 Docker 文件由 Jenkins 在专用机器(物理 CI 服务器)上构建。成功构建后,我将在 远程 主机(另一个物理部署服务器)上的容器中部署此映像。
最简单的方法是什么?是否有任何 Jenkins 插件可以部署 image/container 在远程 Docker(在另一台机器上)
如果您让远程主机轮询 Jenkins 以查看最新构建是否成功,情况如何?也许 cron 可以帮助您安排它。然后如果最新状态== "SUCCESS"拉取最新的git/docker图像和运行。
我在 serverfault.com、https://serverfault.com/questions/309848/how-can-i-check-the-build-status-of-a-jenkins-build-from-the-command-line
上找到了这个脚本脚本的第一个参数是Jenkins上的项目名称。该脚本将连接到您的 Jenkins 实例,查看 jenkinsURL 参数,并检查最新构建是否成功。
#!/usr/bin/python
#
# author: ajs
# license: bsd
# copyright: re2
import json
import sys
import urllib2
jenkinsUrl = "https://jenkins.example.com/job/"
if len( sys.argv ) > 1 :
jobName = sys.argv[1]
else :
sys.exit(1)
try:
jenkinsStream = urllib2.urlopen( jenkinsUrl + jobName + "/lastBuild/api/json" )
except urllib2.HTTPError, e:
print "URL Error: " + str(e.code)
print " (job name [" + jobName + "] probably wrong)"
sys.exit(2)
try:
buildStatusJson = json.load( jenkinsStream )
except:
print "Failed to parse json"
sys.exit(3)
if buildStatusJson.has_key( "result" ):
print "[" + jobName + "] build status: " + buildStatusJson["result"]
if buildStatusJson["result"] != "SUCCESS" :
exit(4)
else:
sys.exit(5)
sys.exit(0)