kubesphere构建devops项目(laravel)
首页->学习资料->微服务治理->k8s 关键词: 发布时间:2023-01-15 03:38:45 浏览次数:2022

以前公司里用到过k8s当时接触感觉一头雾水,很多不概念都没听过;

后来公司自己投入了大量人力及时间搞了一套cicd系统,效果不是很好,最近发现kubesphere很强大,产生了很多好奇心,于是就想用个人网站来练练手

为了玩这个东西还额外买了条16G的内存,加上原来的8G内存勉强玩起来了,真的是好吃内存,不然就去阿里云上玩玩,太费钱了;


大概流程就是上图那样,因为在本地开发,只做了个简单的流程,让他能自动部署并访问当前项目即可;

题外话:玩这个东西真的感觉php落魄了,这些东西很多都是基于java,go等体系做的,特别是java,可惜当年没有选择java,后面有空还是得好好学习;

上面那个图最终生成的是一个jenkins配置文件,内容如下:

第一步:

基于base容器从gitee上拉master分支代码,credentialsId变量保存的是gitee登录的帐号及密码,注意拉的时候选https方式,不然的话还得配ssh公钥,比较麻烦

第二步:

基于base容器,登录阿里云镜像仓库,拉取镜像,然后根据laravel项目根目录中的Dockfile文件构建镜像,并推送到阿里云;

第三步,部署到开发环境:

kubeconfigId与KUBECONFIG_CREDENTIAL_ID 的值配置成一样,这是kubeSphere前端界面中的一个kubernetesDeploy组件,/deploy/dev/**对应laravel项目/deploy/dev目录,存放的是做好的k8s deployment文件(yaml格式)

pipeline {

  agent {

    node {

      label 'base'

    }


  }

  stages {

    stage('拉代码') {

      agent none

      steps {

        container('base') {

          git(url: 'https://gitee.com/hu_rong/hurong_www.git', credentialsId: 'gitee', changelog: true, poll: false, branch: 'master')

          sh 'ls -alh'

        }


      }

    }


    stage('pull & build & push') {

      agent none

      steps {

        container('base') {

          sh '''docker login --username=hurong24109 -p=阿里镜像加速的密码 registry.cn-shanghai.aliyuncs.com

docker pull registry.cn-shanghai.aliyuncs.com/hu-rong/com:php7.4.15-cli-swoole4.6.3-tools

ls -alh

docker build -t registry.cn-shanghai.aliyuncs.com/hu-rong/com:laravel-hurong .

docker image list

docker push registry.cn-shanghai.aliyuncs.com/hu-rong/com:laravel-hurong'''

        }


      }

    }


    stage('deploy to dev') {

      agent none

      steps {

        container('base') {

          kubernetesDeploy(enableConfigSubstitution: true, deleteResource: false, kubeconfigId: 'hurong-laravel', configs: '/deploy/dev/**')

        }


      }

    }


  }

  environment {

    DOCKER_CREDENTIAL_ID = 'dockerhub-id'

    GITHUB_CREDENTIAL_ID = 'github-id'

    KUBECONFIG_CREDENTIAL_ID = 'hurong-laravel'

    REGISTRY = 'docker.io'

    DOCKERHUB_NAMESPACE = 'docker_username'

    GITHUB_ACCOUNT = 'kubesphere'

    APP_NAME = 'devops-java-sample'

  }

  parameters {

    string(name: 'TAG_NAME', defaultValue: '', description: '')

  }

}


赞:(0)
踩:(0)
相关文章
虚拟机环境搭建及各种坑及前期准备
kubernetes集群环境搭建-公共操作
主节点及node节点配置
名称空间namespace
kubernetes-pod
kubernetes-deployment
kubernetes-service
kubernetes-ingress
kubernetes-存储抽象pv&pvc
kubernetes-ConfigMap
热门文章
win7中将文件拷贝到虚拟机linux下
phpexcel设置行高及列宽,背景颜色,
rabbitmq无法启动
intellij idea不显示git push按钮
php7中使用mongodb的aggregate进行
laravel页面静态化的方法
centos7.4 64位下swoole安装及配置
navicate连接mycat报1184错误
curl设置超时不起作用(CURLOPT_TIM
devops-jenkins容器为pending状态
好评文章
phpexcel设置行高及列宽,背景颜色,
php7中使用mongodb的aggregate进行
intellij idea打开文件所在文件夹
windows下使用MongoDB Compass Com
win7中将文件拷贝到虚拟机linux下
laravel 中悲观锁 & 乐观锁的使用
单点登录sso原理及php实现方式及de
navicate连接mycat报1184错误
rabbitmq无法启动
laravel整合dingo/api方法步骤:jwt
标签
rabbitmq mysql备份 elasticsearch golang swoole
我的项目
【github】www.github.com/hurong241
【码云】gitee.com/hu_rong/projects
【docker hub】hub.docker.com/repositories/hurong241
【packagist】packagist.org/users/hurong241/packages
站点信息
建站时间:2011年
文章数:623篇
浏览数:1357698
粤ICP备18028092号-1  微信:hurong241