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

posted @   littlevigra  阅读(2447)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示