一直有人说想了解微服务的自动化部署,今天它来了~
在微服务化的时代,自动化部署越来越成为企业的重中之重了,因为这样减少了人员的成本,开发人员将代码提交后,触发相关事件即可部署测试环境,甚至得到许可后部署到线上。这样,原先开发人员、运维人员等要做的事,通通不必再重复劳作了。这对于一个企业来说,leader比较在乎的一件事。今天讲解通过jenkins、gitlab、harbor、k8s来作简单的CI/CD平台,暂时未涉及到代码检测等。
环境:
ubuntu16.04
docker18.04
k8s1.13.x +
1. 准备
以上系统环境准备好,本文讲述的是用k8s来进行部署jenkins
2. 部署jenkins
新建部署脚本jenkins.yaml:
apiVersion: v1
kind: Service
metadata:
name: jenkins-service
namespace: default
labels:
app: jenkins
spec:
type: NodePort
ports:
- port: 8080
targetPort: 8080
protocol: TCP
nodePort: 30600
name: jenkins
- port: 30000
targetPort: 30000
nodePort: 30000
protocol: TCP
name: agent
selector:
app: jenkins
tier: jenkins
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: jenkins-deployment
labels:
app: jenkins
spec:
replicas: 1
strategy:
type: Recreate
template:
metadata:
labels:
app: jenkins
tier: jenkins
spec:
containers: