--- kind: pipeline name: lint steps: - name: yaml lint image: cytopia/yamllint commands: - yamllint . - name: pylint image: eeacms/pylint commands: - pip install -r requirements.txt - pylint *.py - name: docker lint image: hadolint/hadolint commands: - hadolint --ignore DL3013 Dockerfile # ignore pinning version in pip - name: w3c validator image: validator/validator:latest commands: - vnu static/*.html - name: markdown lint image: pipelinecomponents/markdownlint:latest commands: - mdl --style all --warnings . --- kind: pipeline name: build # #steps: #- name: build image # image: docker # environment: # DOCKER_HOST: tcp://docker # USERNAME: # from_secret: dockerhub_username # PASSWORD: # from_secret: dockerhub_password # commands: # - docker build -t kleph/beer . # - docker login -u $USERNAME -p $PASSWORD # - docker image push kleph/beer # #services: #- name: docker # image: docker:dind # environment: # DOCKER_TLS_CERTDIR: "" # command: ["--storage-driver=vfs", "--tls=false"] # privileged: true steps: - name: build image image: plugins/docker settings: repo: kleph/beer username: from_secret: dockerhub_username password: from_secret: dockerhub_password depends_on: - lint --- kind: pipeline name: deploy steps: - name: deploy app image: bitnami/kubectl environment: KUBE_USERNAME: from_secret: kubectl_username KUBE_PASSWORD: from_secret: kubectl_password KUBE_URI: from_secret: kubectl_uri KUBE_CA: form_secret: kubectl_ca commands: - sudo apt-get update - sudo apt-get install gettext-base - cat kube/kubeconfig_template.yaml | envsubst > /.kube/config - kubectl get pods - kubectl get deployments - kubectl get svc - kubectl apply -f kube/beer-deployment.yaml depends_on: - build