k8s+动态jenkins+gitlab实现自动化流水【17】

网友投稿 330 2022-10-28

k8s+动态jenkins+gitlab实现自动化流水【17】

k8s集群部署jenkins,通过jenkinsslave自动化部署pod,已经成为了趋势接下来我们部署一下,完全放到生产环境部署,首先部署gitlab,参考我的这个文档:提取码:rvso

接下来部署一下

kubectl create namespace kube-ops

================================================完成之后测试创建一下

说明已经成功了,接下来配置项目

Jenkins Pipeline 介绍:要实现在 Jenkins 中的构建工作,可以有多种方式,我们这里采用比较常用的 Pipeline 这种方式。Pipeline,简单来说,就是一套运行在 Jenkins 上的工作流框架,将原来独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排和可视化的工作。

=====================================Jenkins Pipeline 有几个核心概念:

Node:节点,一个 Node 就是一个 Jenkins 节点,Master 或者 Agent,是执行 Step 的具体运行环境,比如我们之前动态运行的 Jenkins Slave 就是一个 Node 节点Stage:阶段,一个 Pipeline 可以划分为若干个 Stage,每个 Stage 代表一组操作,比如:Build、Test、Deploy,Stage 是一个逻辑分组的概念,可以跨多个 NodeStep:步骤,Step 是最基本的操作单元,可以是打印一句话,也可以是构建一个 Docker 镜像,由各类 Jenkins 插件提供,比如命令:sh 'make',就相当于我们平时 shell 终端中执行 make 命令一样。

创建一个简单的 Pipeline

部署 Kubernetes 应用接下来创建一个完整的项目

描述随便写

这里需要安装Pipeline插件哈,上图圈红的需要配置一下

这样生成的前提需要配置一个gitlab的账号密码

好了,接下来讲解一下我们的pip的语法当中都有哪些

node('haimaxy-jnlp') {stage('Clone git拉取代码') {echo "1.Clone Stage"git credentialsId: 'gitlab', url: '{echo "2.Test Stage"}stage('Build镜像') {echo "3.Build Docker Image Stage"sh "docker build -t 10.20.2.116/cnych/jenkins-demo:${build_tag} ."}stage('Push镜像到Harbor仓库') {echo "4.Push Docker Image Stage"sh "docker login -u admin -p Harbor12345"sh "docker push 10.20.2.116/cnych/jenkins-demo:${build_tag}"}stage('Deploy部署部署pod') {echo "5. Deploy Stage"def userInput = input(id: 'userInput',message: 'Choose a deploy environment',parameters: [[$class: 'ChoiceParameterDefinition',choices: "Dev\nQA\nProd",name: 'Env']])echo "This is a deploy step to ${userInput}"sh "sed -i 's//${build_tag}/' nginx.yaml"if (userInput == "Dev") {// deploy dev stuff} else if (userInput == "QA"){// deploy qa stuff} else {// deploy prod stuff}sh "kubectl apply -f nginx.yaml"}}

完成之后我们创建一下

部署完成了,我们来机器上看一下

已经成功部署了,去harbor看一下镜像仓库

这里标签需要注意一下

说明我们已经部署流水线成功了

今天先到这里,后面有问题可以留言和反馈

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Facebook平台有超过2.67亿的用户信息遭到泄露
下一篇:Mybatis关联查询结果集对象嵌套的具体使用
相关文章

 发表评论

暂时没有评论,来抢沙发吧~