Devops项目实践

架构介绍

在这里插入图片描述
在这里插入图片描述

Git环境准备

本次使用gitee来进行代码管理
生成/添加SSH公钥
git 命令使用

cat .git/
  git status
  git config --global user.name "***"
  git commit
  git config --global user.email "***"
  git commit
  git push origin master
  git commit
  git remote add origin git@github.com:**
  git push -u origin master
  ssh -T git@github.com

Jenkins 部署

Jenkins容器使用宿主机Docker

构建镜像和发布镜像到harbor都需要使用到docker命令。而在Jenkins容器内部安装Docker官方推荐直接采用宿主机带的Docker即可。

设置Jenkins容器使用宿主机Docker

  • 设置宿主机docker.sock权限:

    sudo chown root:root /var/run/docker.sock
    sudo chmod o+rw /var/run/docker.sock
    
  • 添加数据卷

    version: "3.1"
    services:
      jenkins:
        image: jenkins/jenkins
        container_name: jenkins
        ports:
          - 8080:8080
          - 50000:50000
        volumes:
          - ./data/:/var/jenkins_home/
          - /usr/bin/docker:/usr/bin/docker
          - /var/run/docker.sock:/var/run/docker.sock
          - /etc/docker/daemon.json:/etc/docker/daemon.json
    

harbor部署

harbor镜像仓库

测试验证

git代码提交

 1195  git add .
 1196  git commit .
 1197  git push .
 1198  git push

方法1:创建工程

cd /var/jenkins_home/workspace/helloworld
docker build -t 192.168.3.50:81/public/web:$tag .
docker login -u admin -p Harbor12345 192.168.3.50:81
docker  push 192.168.3.50:81/public/web:$tag


kubectl create deployment  myapp$tag --image=harbor.test.com:81/public/web:$tag

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
构建成功
![在这里插入图片描述](https://img-blog.csdnimg.cn/882a2cf2ce1c4c1e988b96621a6f在这里插入图片描述
e887.png)

集群验证 镜像已经更新过来

在这里插入图片描述

方法2:流水线构建

Groovy脚本

pipeline {
    agent any

    // 存放所有任务的合集
    stages {
        stage('拉取Git代码') {
            steps {
                git 'git@gitee.com:yangle92/devops.git'
            }
        }


        stage('制作自定义镜像并发布Harbor') {
            steps {
                sh '''cd /var/jenkins_home/workspace/helloworld
					docker build -t 192.168.3.50:81/public/web:$tag .
					docker login -u admin -p Harbor12345 192.168.3.50:81
					docker  push 192.168.3.50:81/public/web:$tag
					'''
            }
        }

        stage('镜像发布到kubernetes集群') {
            steps {
                sshPublisher(publishers: [sshPublisherDesc(configName: 'k8smaster', transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: 'kubectl create deployment  myapp$tag --image=harbor.test.com:81/public/web:$tag', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/root', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
            }
        }
    }
}

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yolo2016

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值