学习资料来源于官方英文文档与《开源容器云OpenShift》一书,因为刚开始学习,不确定博客的正确性,以下内容仅供参考。
Openshift项目提供了集成Openshift插件的Jenkins容器镜像和部署模板。 o Openshift项目默认提供了两个Jenkins部署模板:jenkins-ephemeral-template、jenkins-persistent-template。
这里选择jenkins-ephemeral-template来做研究。
# oc login -u dev
# oc new-project ci
# oc create -f https://raw.githubusercontent.com/openshift/origin/v3.6.0/examples/jenkins/jenkins-ephemeral-template.json
# oc get template
# oc policy add-role-to-user edit -z default
下面指令需要提前安装git(yum -y install git
)。
# oc new-app --template=jenkins-ephemeral
需要修改浏览器所在机器的hosts文件,手动添加解析将jenkins-ci.router.default.svc.cluster.local指向openshift集群master所在的IP地址(参考上一篇博客《openshift/origin学习记录(5)——添加Template(模板)并基于模板部署应用 》)。
以《openshift/origin学习记录(5)——添加Template(模板)并基于模板部署应用》 建立的hello world php工程为例。
以Jenkins触发该项目的S2I构建。
# oc policy add-role-to-user edit system:serviceaccount:ci:jenkins -n hello-world-php
在详细配置界面,增加构建步骤,选择Trigger OpenShift Build条目。
参数名 | 参数值 | 释义 |
---|---|---|
Cluster API URL | https://openshift.default.svc.cluster.local | Openshift集群地址 |
Project | hello-world-php | 项目名称 |
The name of the BuildConfig to trigger | cakephp-mysql-example | Build Config名称,可通过oc get bc查看 |
Pipe the build logs from OpenShift to the Jenkins console | yes | 是否在Jenkins中输出Openshift的构建日志 |
类似于执行了Openshift的build(有时间再更新)。