Jenkins+k8s CI(持续集成)/CD(持续部署)

1、安装Jenkins

官网地址:https://www.jenkins.io/download/

wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins.io/redhat-stable/jenkins.repo --no-check-certificate
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install fontconfig java-11-openjdk
 yum install jenkins

1.1、启动jenkins并测试

修改配置:(不然执行shell会报错,没有权限)

vi /etc/sysconfig/jenkins

JENKINS_USER="root"
JENKINS_GROUP="root"

vi /usr/lib/systemd/system/jenkins.service

User=root
Group=root

systemctl daemon-reload
systemctl restart jenkins
systemctl start jenkins && systemctl enable jenkins

ps -ef | grep jenkins
systemctl stop firewalld #关闭防火墙
systemctl disable firewalld

访问地址: http://192.168.83.11:8080/

1.2、Jenkins初始化

cat /var/lib/jenkins/secrets/initialAdminPassword #获取密码

后面设置账号密码及配置访问url就完成了 

1.3、jenkins配置

步骤1、配置tools

 

 

 

 步骤2:安装插件

(maven ) 为了能构建maven项目

ssh ) 远程执行shell

 

步骤3:系统配置

 

步骤4:新建项目

步骤5:安装docker,helm(推送镜像用,过程略)

2、安装harbor

2.1、安装docker

yum install -y yum-utils


yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin


systemctl enable docker && systemctl start docker

2.2、安装docker-compose

 curl -SL https://github.com/docker/compose/releases/download/v2.10.2/docker-compose
-linux-x86_64 -o /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
chmod 777 /usr/local/bin/docker-compose
docker compose version

2.3、安装harbor

下载地址:https://github.com/goharbor/harbor/releases

tar -zxvf harbor.....tar.gz

修改配置文件:

cd /harbor && vi harbor.yml

 

 

./install.sh --with-chartmuseum #安装并添加helm仓库支持


服务器重启后:
cd /harbor && docker-compose start

访问地址:http://192.168.83.12/harbor/projects

推送测试:

步骤1:修改docker配置

vi /etc/docker/daemon.json

添加:"insecure-registries":["192.168.83.12"]

或域名
添加:"insecure-registries":["harbor.fj.com"]

额外步骤(域名方式)

  步骤2:登入

docker login 192.168.83.12
docker login harbor.fj.com

 步骤3:查看推送镜像命令

 步骤4:推送

docker tag sp:1 192.168.83.12/test/sp:1
docker push 192.168.83.12/test/sp:1


docker tag sp:1 harbor.fj.com/test/sp:1
docker push harbor.fj.com/test/sp:1

3、安装gitlab

安装地址:https://gitlab.cn/install/

vi /etc/gitlab/gitlab.rb #修改配置文件

external_url 'http://192.168.83.13'
nginx['listen_port']=80
gitlab_rails['initial_root_password'] = "root"
systemctl stop firewalld.service && systemctl disable firewalld.service

 配置git

gitlab-ctl reconfigure

启动并查看状态 

gitlab-ctl start
gitlab-ctl status

访问地址: http://192.168.83.13

注意:正常情况下会自动创建root用户并在/etc/gitlab/initial_root_password里面有密码,但是这次实际的情况并没有创建用户出来,所以需要在登入页面注册一个账号,然后执行以下命令:

gitlab-rails console #等等等

User.where(id:1).first
user.state = "active"
user.access_level = 50
user.save!

3.1、新建项目并推送工程

 推送过程略,新建过后有说明,按说明操作即可

4、CI/CD实战

4.1、新建maven工程提交到git(略)

git init --initial-branch=master
git remote add origin http://192.168.83.13/jasmine/helm.git
git add .
git commit -m "Initial commit"
git push -u origin master

4.2、配置工程jenkins

配置丢弃策略

配置git仓库地址

 配置环境

 

 maven构建完成时动作:

 构建完成后操作:

5、CI/CD helm实战

5.1、安装helm push插件

下载地址:https://github.com/chartmuseum/helm-push/releases/download/v0.10.1/helm-push_0.10.1_linux_amd64.tar.gz

[root@k8s-ctrl plugins]# helm env | grep HELM_PLUGINS
HELM_PLUGINS="/root/.local/share/helm/plugins"
[root@k8s-ctrl plugins]# cd /root/.local/share/helm/plugins    
[root@k8s-ctrl plugins]# mkdir helm-push
[root@k8s-ctrl plugins]# cp /helm-push_0.10.1_linux_amd64.tar.gz helm-push
[root@k8s-ctrl plugins]# cd helm-push/
[root@k8s-ctrl helm-push]# tar -zxvf helm-push_0.10.1_linux_amd64.tar.gz 
LICENSE
plugin.yaml
bin/helm-cm-push
[root@k8s-ctrl helm-push]# helm plugin list
NAME    VERSION DESCRIPTION                      
cm-push 0.10.1  Push chart package to ChartMuseum
[root@k8s-ctrl helm-push]# 

添加仓库地址 

# 添加仓库地址到本地列表(其中 myharbor 为这个仓库地址在 helm 本地的名称,连接是仓库URL,后面是登录 harbor 的用户名和密码)
# URL格式:http(s)://{harbor域名或iP:端口(如果默认443或80可不加)}/chartrepo/{yourHarborProjectName}

helm repo add myharbor http://192.168.83.12/chartrepo/test --username admin --password admin

helm repo add myharbor http://harbor.fj.com/chartrepo/test --username admin --password admin

查看是否添加成功:helm repo list

推送:

helm cm-push spboot-1.0.0.tgz myharbor

拉取安装验证:

helm repo update
helm install spsp myharbor/spboot

5.2、创建helm工程

 

 初始提交到git

 5.3、Jenkins配置

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值