我正在尝试为我的Spring Boot微服务实现CI / CD管道。我正在使用Kubernetes和Jenkins来实施CI / CD管道。另外,我正在使用安装在本地服务器上的SVN私有代码存储库。并使用AWS EC2 Ubuntu 16.04 LTS AMI形成Kubernetes集群。
在我的应用程序中,我计划添加Jenkinsfile并在VM中创建Shell脚本以实现管道作业。我现在正在探索以下URL:
在这里,我看到了用于在Jenkinsfile中推送构建的Docker映像的脚本。我了解了使用Jenkinsfile中的配置阶段推送Docker映像的概念。但我的疑问是,
困惑1
如果我使用Kubernetes集群进行部署,是否可以在Jenkinsfile中直接添加kubectl
部署命令?还是我需要在VM中创建任何Shell脚本?
混乱2
我有4个Vms的Kubernetes集群-AWS EC2 Ubuntu 16.04 LTS。即1台主计算机和3台工作计算机。
所以我的另一个困惑是,如果我需要在Kubernetes集群中使用一个shell脚本,那么我需要在哪个Vm中编写.sh文件?我需要在Master VM中写吗?还是需要添加工作者Vm?还是需要添加我安装Jenkins master的位置?
shell脚本如何在整个Kubernetes集群中可用?
答案 0 :(得分:2)
是的,您可以使用Shell脚本从Jenkinsfile中调用kubectl,例如:
sh 'kubectl ...'
但是,我的建议是使用shell脚本并将您的命令放入其中。
有关示例,请参见:https://wade.be/development/2018/04/30/jenkinsfiles.html
您的shell脚本根本不需要在VM中,只需Jenkins服务器即可访问。
将其放入存储Jenkinsfile的代码库中。