openshift 持续集成与部署 -- 构建部署流水线

Jenkins持续构建说得更直白点,就是各种项目的"自动化"编译、打包、分发部署。j跟svn、git能无缝集成,也支持直接与知名源代码托管网站,比如github、bitbucket直接集成。
简单点说,Jenkins其实就是大的框架集!
如:自动化,性能,打包,部署,发布&发布结果自动化验证,接口测试,单元测试
1.创建项目和mybank应用
oc login -u dev -p dev
oc new-project mybank-dev --display-name="MyBank DEV" --description=" mydev"
oc new-app openshift/wildfly-100-centos7~https://github.com/nichochen/mybank-demo-maven
oc status
oc get build -n mybank-dev
oc expose svc/mybank-demo-maven --hostname=mybank-dev.apps.example.com
curl http://mybank-dev.apps.example.com
oc new-project mybank-sit --display-name="MyBnak SIT" --description="mybank sit"
oc new-project mybank-release --display-name="MyBnak RELEASE" --description="mybank release"
2.配置Jenkins的访问权限
oc policy add-role-to-user edit system:serviceaccount:ci:jenkins -n mybank-dev
oc policy add-role-to-user edit system:serviceaccount:ci:jenkins -n mybank-sit
oc policy add-role-to-user edit system:serviceaccount:ci:jenkins -n mybank-release
oc policy add-role-to-user edit system:image-pullersystem:serviceaccount:mybank-sit:jenkins -n mybank-dev
oc policy add-role-to-user edit system:image-pullersystem:serviceaccount:mybank-release:jenkins -n mybank-dev
3.应用测试环境的镜像
oc tag mybank-dev/mybank-demo-maven:latest mybank-sit/mybank-demo-maven:latest
oc project mybank-sit
oc new-app -i mybank-demo-maven:latest
oc project mybank-release
oc tag mybank-sit/mybank-demo-maven:latest mybank-release/mybank-demo-maven:stage
oc new-app -i mybank-demo-maven:stage -n mybank-release
curl mybank-demo-maven.mybank-dev.svc.cluster.local:8080
4.OpenShift流水线
vim /etc/profile
source /etc/profile
oc login -u system:admin
oc create -f https://raw.githubusercontent.com/openshift/origin/master/examples/image-streams/image-streams-centos7.json -n openshift
oc login -u dev -p dev
oc new-project pipeline-demo
oc new-app --template=jenkins-ephemeral --param=JENKINS_PASSWORD=welcome1
oc new-app --template=jenkins-ephemeral -e JENKINS_PASSWORD=welcome1
oc new-app -f https://raw.githubusercontent.com/openshift/origin/master/examples/jenkins/pipeline/samplepipeline.json
oc new-app -f https://raw.githubusercontent.com/openshift/origin/master/examples/jenkins/pipeline/samplepipeline.yaml
oc get pods
oc describe pod mongodb-1-9frq2
oc get pods
oc get bc
oc describe bc sample-pipeline
oc start-build sample-pipeline
oc get pods
oc get project
oc get pods -n pipeline-demo
oc describe pod nodejs-4z1t9
oc get pods -n pipeline-demo
openshift 持续集成与部署 -- 构建部署流水线的更多相关文章
- 持续集成之Jenkins自动部署war包到远程服务器
一.无war包链接的情况 无war包链接时,需先下载war包到本地,然后执行: ---------------------------------------------以下部分为转载-------- ...
- 持续集成环境--Tomcat热部署导致线程泄漏
一.问题由来 我们组用jenkins部署了持续集成环境,(jenkins部署war包到远程服务器的tomcat). 每次提交了代码,jenkins上一键构建,就可以自动拉取最新代码,打war包,热部署 ...
- (持续集成)win7上部署Jenkins+MSBuild+Svn+SonarQube+SonarQube Scanner for MSBuild (一)
一.Jenkins介绍 jenkins是一个广泛用于持续构建的可视化web工具,持续构建说得更直白点,就是各种项目的”自动化”编译.打包.分发部署.jenkins可以很好的支持各种语言(比如:java ...
- 【持续集成】jenkins安装部署从git获取代码
一:持续集成的概念: 1.1:总体的概括 持续集成Continuous Integration 持续交付Continuous Delivery 持续部署Continuous Deployment 1. ...
- 用Jenkins+Gradle+Jetty实现持续集成、测试、部署
自动集成有很多种方案,本例用到的工具是Jenkins(前身Hudson)+Gradle+Jetty,关于Gradle可参考上一篇,Gradle常见问题. 本例项目名称: WAP Jetty 安装Jen ...
- Jenkins与Git持续集成&&Linux上远程部署Java项目
一.环境搭建 1.安装所需软件 Jdk Maven Jenkins Tomcat Xshell git 以上软件去官网下载,比较简单,不一一描述了 2.安装所需的jenkins插件 Git plugi ...
- (持续集成)win7上部署Jenkins+MSBuild+Svn+SonarQube+SonarQube Scanner for MSBuild (第二发)
这一篇进入实战,走起.... 登录jenkins,如下图 点击上图中的“新建”按钮,进入下图 输入项目名称,选择“构建一个自由风格的软件项目”即可,点击“ok”,跳转到下图 svn源代码管理(选择代码 ...
- [ansible-playbook]4 持续集成环境之分布式部署利器 ansible playbook学习
3 ansible-play讲的中太少了,今天稍微深入学习一点 预计阅读时间:15分钟 一: 安装部署 参考 http://getansible.com/begin/an_zhuang_ansile ...
- [Docker][ansible-playbook]3 持续集成环境之分布式部署
预计阅读时间: 30分钟 本期解决痛点如下:1. 代码版本的多样性,编译环境的多样性如何解决?答案是使用docker,将不同的编译环境images统统打包到私有仓库上,根据需求进行下载,从宿主机上挂载 ...
随机推荐
- vue自定义日历组件的实现
实现一个日期组件,如图: components.js代码如下: Vue.component('sc-calendar',{ template:'<div class="scCalend ...
- 转:JS判断值是否是数字(两种方法)
JS判断值是否是数字 1.使用isNaN()函数 isNaN()的缺点就在于 null.空格以及空串会被按照0来处理 NaN: Not a Number /***判断是否是数字***/ 1 2 3 ...
- php初学记
开始和结束标记 常用两种:<?php ?>,<script language="php"></script> 短标记:<? ?>,需 ...
- python条件判断和循环
条件判断 if <条件判断1>: <执行1> elif <条件判断2>: <执行2> elif <条件判断3>: <执行3> e ...
- 直接拿去用!每个App都会用到的LoadingLayout
前言 项目里都会遇到几种页面,分别为加载中.无网络.无数据.出错四种情况,经常要使用,所以封成库引用了,方便使用,顺便分享出来.先看一下效果: 原理比较简单,继承FrameLayout,在xml渲染完 ...
- Selectivizr-让IE6~8支持CSS3伪类和属性选择器
一.下载和demo 下载: 您可以狠狠地点击这里:selectivizr-1.0.0.zip(右键-[目标|链接另存为] 9.24K) demo: 您可以狠狠地点击这里:Selectivizr部分属性 ...
- web应用服务端cache策略初探
一般来说,网站随着访问量以及数据库的增大,访问速度将会越来越慢,如何优化这个响应速度,增大用户支持容量是网站从小到中,到大的必经之路. 你也可能听说过对于大型web站点一般严重依赖于cache来弹性放 ...
- Oracle EBS 解决OAF黑屏,卡顿,反应慢
- Vue2学习笔记:过渡效果css
过渡效果 Vue 提供了 transition 的封装组件,在下列情形中,可以给任何元素和组件添加 entering/leaving 过渡 <!DOCTYPE html> <html ...
- RHEL7系统管理之资源管理
1. CGroup(控制群组).slice(切片).scop.service 控制群组(control group)是linux kernel的一项功能, 该功能允许linux对RHEL7中syste ...