Rancher Gitlab Runner CI/CD

编程入门 行业动态 更新时间:2024-10-24 06:31:41

Rancher <a href=https://www.elefans.com/category/jswz/34/1770931.html style=Gitlab Runner CI/CD"/>

Rancher Gitlab Runner CI/CD

Rancher Gitlab Runner CI/CD

获取Kubernetes配置信息

Gitlab中添加Kubernetes集群

  • CA Certificate 不需要填写
  • RBAC-enabled clusterGitLab-managed cluster 不要勾选(坑)

示例

.gitlab-ci.yml 示例

image: docker:19.03services:- name: docker:19.03-dindvariables:DOCKER_HOST: tcp://docker:2375# This will instruct Docker not to start over TLS.DOCKER_TLS_CERTDIR: ""stages:- gradle-build- docker-build#  - review- deploygradle-build:stage: gradle-buildimage: gradle:6.8-jdk8cache:paths:- .gradle/wrapper- .gradle/cachesbefore_script:- export GRADLE_USER_HOME=`pwd`/.gradlescript:- gradle :provider-example-service:build -x testartifacts:paths:- ${PROJECT_JAR_PATH}# 只在develop分支生效only:- developdocker-build:stage: docker-buildscript:- docker build -t ${HARBOR_HOST}/${HARBOR_PROJECT}/${CI_PROJECT_NAME}:latest .- docker tag ${HARBOR_HOST}/${HARBOR_PROJECT}/${CI_PROJECT_NAME}:latest ${HARBOR_HOST}/${HARBOR_PROJECT}/${CI_PROJECT_NAME}:${CI_PIPELINE_ID}- docker login ${HARBOR_HOST} -u ${HARBOR_USERNAME} -p ${HARBOR_PASSWORD}- docker push ${HARBOR_HOST}/${HARBOR_PROJECT}/${CI_PROJECT_NAME}:latest- docker push ${HARBOR_HOST}/${HARBOR_PROJECT}/${CI_PROJECT_NAME}:${CI_PIPELINE_ID}kubernetes-deploy:stage: deployimage:name: bitnami/kubectl:1.2environment:name: developmentkubernetes:namespace: ${KUBE_NAMESPACE}script:- |cat deployment.yaml | \sed -e "s@{{POD_PORT}}@${PROJECT_PORT}@g" \-e "s@{{POD_NAME}}@${CI_PROJECT_NAME}@g" \-e "s@{{NAMESPACE}}@${KUBE_NAMESPACE}@g" \-e "s@{{IMAGE}}@${HARBOR_HOST}/${HARBOR_PROJECT}/${CI_PROJECT_NAME}:${CI_PIPELINE_ID}@g" \-e "s@{{IMAGE_PULL_SECRETS}}@${IMAGE_PULL_SECRETS}@g" | \kubectl apply -f -
  • environment: name需与Gitlab中创建的Kubernetes cluster Environment scope相同

deployment.yaml 示例

apiVersion: v1
kind: Service
metadata:name: {{POD_NAME}}namespace: {{NAMESPACE}}
spec:selector:app: {{POD_NAME}}type: ClusterIPports:- name: {{POD_PORT}}tcp{{POD_PORT}}1port: {{POD_PORT}}protocol: TCPtargetPort: {{POD_PORT}}
---
apiVersion: apps/v1
kind: Deployment
metadata:name: {{POD_NAME}}namespace: {{NAMESPACE}}labels:app: {{POD_NAME}}
spec:replicas: 1selector:matchLabels:app: {{POD_NAME}}strategy:rollingUpdate:maxSurge: 1maxUnavailable: 0type: RollingUpdatetemplate:metadata:labels:app: {{POD_NAME}}spec:containers:- image: {{IMAGE}}imagePullPolicy: Alwaysname: {{POD_NAME}}ports:- containerPort: {{POD_PORT}}name: {{POD_PORT}}tcp{{POD_PORT}}1protocol: TCPdnsPolicy: ClusterFirstimagePullSecrets:- name: {{IMAGE_PULL_SECRETS}}restartPolicy: Always

环境变量配置

更多推荐

Rancher Gitlab Runner CI/CD

本文发布于:2024-02-26 08:03:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1701804.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:Gitlab   Rancher   Runner   CD   CI

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!