2.使用jenkins自动构建并发布应用到k8s集群

作者

微信:tangy8080
电子邮箱:[email protected]
更新时间:2019-06-21 14:39:01 星期五

欢迎您订阅和分享我的订阅号,订阅号内会不定期分享一些我自己学习过程中的编写的文章
如您在阅读过程中发现文章错误,可添加我的微信 tangy8080 进行反馈.感谢您的支持。

文章主题

在物理机上安装jenkins

前置条件

  • 必须安装jdk
  • 物理机上必须安装了kubectl,后面jenkins会调用kubectl执行创建操作
  • 需要安装jdk
 yum install -y java-1.8.0-openjdk.x86_64

正文

安装jenkins

添加Jenkins库到yum库,Jenkins将从这里下载安装。
wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
yum install -y jenkins
启动jenkins服务

jenkins在安装后默认会开机启动,无需特殊处理。

service jenkins start/stop/restart
访问jenkins WebUI

http://ip:8080

如果物理机上没有安装git,需要安装git
yum install git -y

在jenkins中安装插件

该插件用于生成docker镜像,并推送到docker仓库中

在安装Jenkins的物理机上安装docker

https://www.runoob.com/docker/centos-docker-install.html

sudo systemctl enable docker
sudo systemctl start docker
配置docker安装

配置构建参数

配置Docker Build and Publish插件

在上面配置的主机上(这里是192.168.161.180)上打开docker的 tcp连接

[[email protected] docker]# cat /etc/docker/daemon.json

{
    "registry-mirrors":[
        "https://docker.mirrors.ustc.edu.cn",
        "https://hub-mirror.c.163.com"
    ],
    "insecure-registries":[
        "docker02:35000"
    ],
    "max-concurrent-downloads":20,
    "live-restore":true,
    "max-concurrent-uploads":10,
    "debug":true,
    "data-root":"/data/k8s/docker/data",
    "exec-root":"/data/k8s/docker/exec",
    "log-opts":{
        "max-size":"100m",
        "max-file":"5"
    },
    "hosts":[
        "tcp://0.0.0.0:2375",
        "unix:///var/run/docker.sock"
    ]
}

#重载所有修改过的配置文件
systemctl daemon-reload

#重启docker服务
systemctl restart docker.service
更改jenkins的用户

在安装k8s时,我们是以管理员身份运行的.如果不能改.不方便调用kubectl工具

# 打开配置文件
vim /etc/sysconfig/jenkins
# 修改$JENKINS_USER,并去掉当前行注释
$JENKINS_USER="root"

chown -R root:root /var/lib/jenkins
chown -R root:root /var/cache/jenkins
chown -R root:root /var/log/jenkins

# 重启Jenkins(若是其他方式安装的jenkins则重启方式略不同)
service jenkins restart
# 查看Jenkins进程所属用户
ps -ef | grep jenkins
# 若显示为root用户,则表示修改完成
调用kubectl完成部署
BUILD_NUMBER="${BUILD_NUMBER}"

#将BUILD_NUMBER写入DaemonSet.yaml的镜像地址
sed -i "s/\[BUILD_NUMBER\]/$BUILD_NUMBER/" ${WORKSPACE}/deploy/DaemonSet.yaml

#先创建名称空间
/opt/k8s/bin/kubectl apply -f ${WORKSPACE}/deploy/Namespace.yaml
#执行deploy目录下的所有yaml文件
/opt/k8s/bin/kubectl apply -f ${WORKSPACE}/deploy/

原文地址:https://www.cnblogs.com/gytangyao/p/11407213.html

时间: 2024-10-13 08:34:07

2.使用jenkins自动构建并发布应用到k8s集群的相关文章

jenkins自动构建与发布服务

安装jenkins构建使用插件 插件名 大概功能 Maven Integration plugin jenkins集成maven插件 Hudson Blame Subversion Plug-in 获取svn信息,数据同步 Subversion Partial Release Manager plugin svn版本发布管理器 Subversion Revert Plugin 构建失败时自动回滚svn Subversion Workspace Cleaner 清空svn工作空间 Deploy t

手工触发jenkins自动构建

手工触发jenkins自动构建 点击项目的配置 2. 设置手工构建连接 3.在浏览器里输入来触发jenkins的项目构建

码云Webhook触发Jenkins自动构建 - Jenkins演练(一)

今天自己看着插件文档摸索了一下,实现了git push后Webhook自动触发Jenkins进行代码构建,可通用gitlab.github等平台,中文关于这方面自动部署的文档比较少,所以把我的学习过程记录下来,让其他人少走点弯路. 模拟场景:开发人员在dev分支提交代码后,Jenkins自动构建和部署,非dev分支提交代码不会触发. 实战环境:码云(git.oschina.net).Jenkins(可在公网访问).插件Generic Webhook Trigger 步骤1: 码云新增一个项目,新

K8S集群中部署jenkins

本文介绍在k8s环境中进行jenkins server的部署和配置.Jenkins是一个开源的.功能强大的持续集成和持续构建工具,采用master和salve架构,我们通过将jenkins集成环境部署在k8s集群中,可以实现jenkins slave按需创建.动态的伸缩.同时也提供了在k8s环境中应用的持续部署解决方案. 一.准备docker镜像文件 1.编译jenkins server docker镜像,默认的jenkis镜像已包含jdk,版本为1.8.0_171 # cat dockerfi

构建一机多实例tomcat集群

1.了解tomcat Tomcat不是一个完整意义上的Jave EE(j2ee)服务器,因为它没有提供完整的Java EE企业应用平台的API.但是由于Tomcat遵循apache开源协议,并且对当前Java开发框架开源组件Structs.Spring和Hibernate等实现完美支持,因此tomcat被众多企业用来部署配置众多的Java应用程序,实现替代一些商业的Java应用服务器. 2.Tomcat的目录结构 要部署使用tomcat,则必须了解tomcat的目录结构以及各目录的作用.这里以t

RabbitMQ(四):使用Docker构建RabbitMQ高可用负载均衡集群

本文使用Docker搭建RabbitMQ集群,然后使用HAProxy做负载均衡,最后使用KeepAlived实现集群高可用,从而搭建起来一个完成了RabbitMQ高可用负载均衡集群.受限于自身条件,本文使用VMware虚拟机的克隆功能克隆了两台服务器进行操作,仅作为一个demo,开发中可根据实际情况进行调整. 首先看下RabbitMQ高可用负载均衡集群长什么样子: 使用Docker构建RabbitMQ高可用负载均衡集群大概分为三个步骤: 启动多个(3个为例)RabbitMQ,构建RabbitMQ

kubernetes实战-交付dubbo服务到k8s集群(六)使用blue ocean流水线构建dubbo-consumer服务

我们这里的dubbo-consumer是dubbo-demo-service的消费者: 我们之前已经在jenkins配置好了流水线,只需要填写参数就行了. 由于dubbo-consumer用的gitee的私有仓库,需要添加公钥,这里大家可以自己找个client服务来做实验. 下面是我们通过jenkins构建的镜像,已经上传到我们的harbor私有仓库当中了: 这里我们构建了两次,构建了两个镜像,11bb9cd这个用来做模拟生产发版更新实验. 准备资源配置清单: 1.dp.yaml  红色部分根据

k8s集群应用例如jenkins启动问题排查思路

k8s集群应用例如jenkins启动问题排查思路 待办 rancher上的事件报告>pods日志>pods内容器日志(现获取容器id再查看容器日志,获取容器id 使用的是相应问题pod的名来抓取,docker ps | grep "podname" 原文地址:https://www.cnblogs.com/lishikai/p/12315008.html

Jenkins自动构建Vue工程

1.安装npm环境 2.配置svn 3.自动构建脚本 4.自动发布远程服务器 5.远程挂载nginx服务器启动 echo $PATH node -v npm -v cd /var/lib/jenkins/workspace/ztrygk-web npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver npm install npm run build:stage cd d