Git Product home page Git Product logo

appengine-jenkins's Introduction

This package provides a Docker image running Jenkins behind NGINX. It is designed to be deployed to Google Managed VMs using the provided app.yaml configuration file, but could also be deployed to any other platform that supports Docker images.

In its setup, Jenkins is started inside a container, listening to a local port. NGINX is running in front of Jenkins to allow flexibility in creating our health check end point and passing authentication headers.

The reverse-proxy-auth plugin is used by Jenkins to trust the authentication headers passed by NGINX, which receives them from the underlying platform (expected: Google App Engine).

For convenience, $JENKINS_HOME is seeded with content of the /jenkins directory. Users can add plugins and initial configurations as needed.

This image starts a Jenkins instance with several bundled plugins. In particular, the Google Cloud Backup plugin provides automatic backup and restore functionality. The default configuration when launched to Google Managed VMs will create backup files using Google Cloud Storage. This allows the Jenkins master to retain state despite intentional or accidental restarts of the VM.

This image is packaged with a usage-reporting plugin. By default, the plugin is disabled and does not send any usage reports. Users who choose to opt in to usage reporting may do so by passing the --report_usage flag to the install script.

You must have an existing Google Cloud Project to deploy to that has billing setup, and you must have these APIs enabled in your project:

  • Google Compute Engine
  • Google Cloud Storage

If you want to deploy from the source code, run:

(in the /bundle directory)
./build-bundle.sh
(in the /image directory)
./install.sh --project <your project> --build_from_src

If you want to deploy using the pre-built Docker image instead of from the source code, run:

(in the /image directory)
./install.sh --project <your project>

To see more command line options, run:

(in the /image directory)
./insall.sh --help

If you want to build and push the testing version of Docker image, run:

(in the /bundle directory)
./build.sh

(in the image directory)
./build.sh testing --push_image

However, you must have write permission to the GCR repo where these images are stored in order to do so.

appengine-jenkins's People

Contributors

andreystroilov avatar ckerur avatar ojarjur avatar wzheng2310 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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.