Openshift Jenkins共享并支持pipeline

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Openshift Jenkins共享并支持pipeline相关的知识,希望对你有一定的参考价值。

参考技术A openshift默认的BuildConfig如果设置为jenkinsPipelineStrategy策略,将会在当前project下查找jenkins服务,如果没有的话,将会使用master-config中设置的默认jenkins模板所在位置在当前project下创建一个新的jenkins应用,便使用该应用执行相关的pipeline。
每个项目都会创建一个新的jenkins。

在以上导出的配置中添加默认的jenkins Service/Route/RoleBinding

结果展示:

结果展示:
在Testx中创建一个简单的PipelineConfigBuild进行测试

在Testx项目下创建以上的BuildConfig, 前提是testx项目名已在jenkins中的系统设置中的OpenShift Jenkins Sync中添加
Testx项目下的PipelineJenkins可以使用Jenkins项目下的Jenkins服务来执行Pipeline

DevOps的核心内功心法:OpenShift中实现共享Jenkins

OpenShift 3.11离线环境的jenkins演示

离线安装完成后,一般情况下只装了个基础环境,catalog镜像没有导入,本文主要侧重在jenkins的一些环境设置和演示。

首先follow下面链接下载镜像

https://docs.openshift.com/container-platform/3.11/install/disconnected_install.html

我们这里下载的主要是

$ docker pull registry.redhat.io/openshift3/jenkins-2-rhel7:<tag>

$ docker pull registry.redhat.io/openshift3/jenkins-slave-maven-rhel7:<tag>

$ docker pull registry.redhat.io/openshift3/jenkins-slave-nodejs-rhel7:<tag>

导入到本地镜像仓库

[root@node2 images]# docker images
REPOSITORY                                                   TAG                 IMAGE ID            CREATED             SIZE

registry.example.com/openshift3/jenkins-2-rhel7              latest              0f36706e2c53        10 months ago       1.13 GB
registry.example.com/openshift3/jenkins-slave-maven-rhel7    latest              5ce887d9bf31        11 months ago       1.02 GB
registry.example.com/openshift3/jenkins-slave-nodejs-rhel7   latest              a32c719893f2        11 months ago       971 MB

但现在进入查看jenkins image stream, 发现仍然是不可用状态。

[root@master ~]# oc describe is jenkins -n openshift
Name:            jenkins
Namespace:        openshift
Created:        5 months ago
Labels:            <none>
Annotations:        openshift.io/display-name=Jenkins
            openshift.io/image.dockerRepositoryCheck=2019-08-30T14:32:54Z
Docker Pull Spec:    docker-registry.default.svc:5000/openshift/jenkins
Image Lookup:        local=false
Unique Images:        1
Tags:            3

1
  tagged from registry.example.com/openshift3/jenkins-1-rhel7:latest
    prefer registry pullthrough when referencing this tag

  Provides a Jenkins 1.X server on RHEL 7. For more information about using this container image, including OpenShift considerations, see https://github.com/openshift/jenkins/blob/master/README.md.
  Tags: hidden, jenkins

  ! error: Import failed (InternalError): Internal error occurred: Get https://registry.example.com/v2/: dial tcp 192.168.56.105:443: connect: connection refused
      5 months ago

 

执行导入

oc import-image jenkins  --from=registry.example.com/openshift3/jenkins-2-rhel7:latest --confirm --insecure=true

确认导入成功后,在项目中选择Jenkins(Ephemeral),然后等待创建完成。

技术图片

 

以上是关于Openshift Jenkins共享并支持pipeline的主要内容,如果未能解决你的问题,请参考以下文章

用于工具 Git/JENKINS/JFROG 的 OpenShift 身份验证服务器

OpenShift基本概念

Jenkins集成openshift容器中进行代码扫描

OpenShift 3.11离线环境的jenkins演示

OPENSHIFT V3 免费部署 Java-Web

如何在Openshift平台上通过Jenkins管道运行docker-in-docker?