代码之家  ›  专栏  ›  技术社区  ›  Jacob

从Jenkins到Dockerhub的Docker映像推送和Kubernetes集群的部署

  •  0
  • Jacob  · 技术社区  · 6 年前

    我正在尝试为我的spring boot微服务实现CI/CD管道。我使用Kubernetes和Jenkins来实现CI/CD管道。而且我也在使用安装在本地服务器上的SVN私有代码库。以及使用AWS EC2 Ubuntu 16.04 LTS AMI形成的Kubernetes集群。

    在我的应用程序中,我计划添加Jenkinsfile并在VM中创建shell脚本来实现管道作业。我现在正在探索以下网址:

    1. https://www.brightbox.com/blog/2018/01/22/push-builds-to-dockerhub/
    2. http://www.tothenew.com/blog/automated-docker-deployment-using-jenkins/
    3. https://ropenscilabs.github.io/r-docker-tutorial/04-Dockerhub.html

    在这里,我看到了在Jenkinsfile中推动构建的Docker映像的脚本。我理解Jenkinsfile中使用配置阶段推送Docker图像的概念。但我怀疑的是,

    如果我使用Kubernetes集群进行部署,可以直接添加 kubectl 在詹金斯菲尔德部署指挥部?或者我需要在VM中创建任何shell脚本?

    混淆2

    我有一个Kubernetes集群,有4个Vms-AWS EC2 Ubuntu 16.04 LTS。一台主机和三台工人机器。

    所以我的另一个困惑是,如果我需要在Kubernetes集群中使用一个shell脚本,我需要在哪个Vm中编写.sh文件?我需要在主虚拟机中写入吗?或者需要添加辅助虚拟机?或者需要添加我安装詹金斯大师的地方?

    shell脚本如何在整个Kubernetes集群中可用?

    1 回复  |  直到 6 年前
        1
  •  2
  •   jpswade    6 年前

    是的,可以使用shell脚本从Jenkinsfile调用kubectl,例如:

    sh 'kubectl ...'
    

    不过,我的建议是使用shell脚本并将命令放在其中。

    例如,请参见: https://wade.be/development/2018/04/30/jenkinsfiles.html

    您的shell脚本根本不需要在VM中,只需要Jenkins服务器可以访问它。

    把它放在存储jenkins文件的代码库中。