手把手带你玩转k8s-jenkins安装与流水线
前言
本系列教程最主要的目地是使用k8s做持续集成,从本文开始,才算是正式进入主题。
环境安装
如果使用的是阿里云Kubernetes集群 ,可以安装其 ack-jenkins应用。
5分钟在阿里云Kubernetes服务上搭建jenkins环境并完成应用构建到部署的流水线作业
为了通用性,这里并没有使用ack-jenkins,而是使用官方的 jenkinsci/blueocean镜像。
jenkins中文官网
因为后面要讲的jenkins内容需要联网,但是之前购买的服务器是没有绑定公网ip的,这里也不想购买绑定了(省钱)。所以临时先使用小A同学上的docker来安装jenkins。
创建目录
mkdir-p /mldong/docker/jenkinsmkdir-p /mldong/docker/jenkins/data
复制代码
docker-compose定义文件
cat<>/mldong/docker/jenkins/docker-compose.yamlversion:2services:jenkins:privileged:truecontainer_name:myjenkinsimage:"jenkinsci/blueocean:latest"restart:alwaysuser:rootvolumes:-"/etc/localtime:/etc/localtime:ro"-"./data:/var/jenkins_home"-"/var/run/docker.sock:/var/run/docker.sock"-"/root:/home"ports:-"8080:8080"-"50000:50000"EOF复制代码
- privileged,获取宿主机root权限
- container_name,窗口名称
- image,镜像地址
- restart,docker重启后,服务也重启
- user, 指定运行的用户
- volumes,挂载的目录 /etc/localtime:/etc/localtime:ro 主要是与宿主时区同步 ./data:/var/jenkins_home 将容器内/var/jenkins_home持久化到宿主当前目录下的data目录 /root:/home
- ports 左宿主右容器 8080口为对外服务 50000后续讲到master-slave时候用到,本文不涉及,不过要加上。
后台启动服务
docker-compose -f /mldong/docker/jenkins/docker-compose.yaml up -d
复制代码
浏览器访问
http://ip:8080
注意端口访问权限,如果是阿里云,需要设置入站规则。
修改密码
流水线
jenkins Pipeline(或简称为 "Pipeline")是一套插件,将持续交付的实现和实施集成到 Jenkins 中。
持续交付 Pipeline 自动化的表达了这样一种流程:将基于版本控制管理的软件持续的交付到您的用户和消费者手中。
Jenkins Pipeline 提供了一套可扩展的工具,用于将简单到复杂的交付流程实现为持续交付即代码。Jenkins Pipeline 的定义通常被写入到一个文本文件(称为 Jenkinsfile )中,该文件可以被放入项目的源代码控制库中。
新建流水线任务
运行流水线
安装插件
安装中文语言
搜索插件 localization
安装中
安装成功,重启服务
中文版页面
安装Kubernetes CLI
这个过程有点慢,需要耐心等待
Kubernetes CLI使用
配置.kube/config
管理凭证
添加域
添加凭据
选择Secret file
ID要简单记一下,流水线访问集群时需要用到
配置成功
验证
修改流水线
pipeline{agentanystages{stage(Hello){steps{echoHello World}}stage("kubectl"){agent{docker{imagelwolf/helm-kubectl-docker}}steps{withKubeConfig([credentialsId:ali-k8s-config,serverUrl: https://172.26.22.121:6443]) {shkubectl get nodes}}}}}复制代码
结果
小结
本文主要使用docker-compose安装jenkins,并简单介绍了jenkins流水线的使用。通过安装Kubernetes CLI插件,使用流水线脚本可以使用kubectl命令行工具访问k8s集群。这样为后续做发布的流水线做了个一些准备。当然,仅今天介绍的内容还是不足让你那么快的制作一条完整的流水线,下一篇会详细介绍流水线的一些常用语法。
docker-compose常用命令说明
- 运行服务-非后台运行 docker-compose -f docker-compose.yaml up 复制代码
- 运行服务-后台运行 docker-compose -f docker-compose.yaml up -d 复制代码
- 停止并移除定义的服务 docker-compose -f docker-compose.yaml down 复制代码
- 停止正在运行的服务 docker-compose -f docker-compose.yaml stop 复制代码
- 启动停止的服务 docker-compose -f docker-compose.yaml start
原文链接:https://juejin.im/post/5f0f30806fb9a07e8b214f83
检查 Jenkins 服务状态
手把手教你用Jenkins+K8S打造流水线环境
朋友的真实操作流程,使用Jenkins和Kubernetes完成持续集成和持续部署,有搭建,有入门,手把手教学文档,干得拧不出水来,分享一波。
下一篇
Box-Jenkins时间序列预测模型
Itisalwaysverydifficulttopredictthefuture.Indeedithasbeenlikenedto