Git Product home page Git Product logo

python-apps-ci's Introduction

pythonapps-ci

Continuous Integration using Jenkins to build Python applications running in GKE

1) Execute Shell

Delete current project

rm -rf /var/lib/jenkins/workspace/yourproject

Global variables

export PROJECT_ID=yourgkeprojectid
export GCLOUD_CLUSTER_NAME=yourgkeclustername
export CHART_VERSION=yourgkeversionchart
export PATH_PROJECT=yourproject
export FULL_PATH=/var/lib/jenkins/workspace/yourproject
export KUBECONFIG=$FULL_PATH/$PROJECT_ID-kubeconfig

Chart variable - TASKS

export CHART_NAME=yourchartname

Download project

git clone https://git.example.com/yourproject.git

Setting permission to jenkins user

chown -R jenkins:jenkins $FULL_PATH/$PATH_PROJECT

Open project directory

cd yourproject

Gcloud authentication & Docker Build API

gcloud config set project yourproject
gcloud auth activate-service-account docker@${PROJECT_ID}.iam.gserviceaccount.com --key-file=$FULL_PATH/$PROJECT_ID-cloudbuild.json
docker build -t us.gcr.io/yourproject/yourapplication:latest -t us.gcr.io/yourproject/yourapplication:$BUILD_NUMBER -f deploy/dockerfiles/Dockerfile.yourapplication.prod .
gcloud docker -- push us.gcr.io/yourproject/yourapplication:latest
gcloud docker -- push us.gcr.io/yourproject/yourapplication:$BUILD_NUMBER
gcloud container clusters get-credentials $GCLOUD_CLUSTER_NAME --zone=yourzone

Chart local variables

export CHART_FULLNAME=${CHART_NAME}-${CHART_VERSION}
export CHART_FILENAME=$FULL_PATH/${CHART_FULLNAME}.tgz
export HELM_NAME=$(helm ls | grep $CHART_FULLNAME | awk '{print $1}')
/usr/local/bin/helm upgrade $HELM_NAME $CHART_FILENAME --set image.tag=$BUILD_NUMBER

brunomartins84[at]yahoo[dot]com[dot]br

python-apps-ci's People

Contributors

brunofoca avatar brunomartins84 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.