altendky / docker-compose-phabricator-jenkins

4 stars 2 forks source link

Overview

This Docker composition is an effort to provide an integrated Phabricator and Jenkins setup for reference. It presently has umpteen security issues etc but may still be a useful reference for some of the steps required to get these two systems working together.

Phabricator provides many software development features including VCS serving and browsing, ticketing, and some tools for build systems. Jenkins is a dedicated build server. The integration is aided by the Uber phabricator-jenkins-plugin_.

.. _Phabricator: https://www.phacility.com/phabricator/ .. _Jenkins: https://jenkins.io/ .. _Uber phabricator-jenkins-plugin: https://github.com/uber/phabricator-jenkins-plugin

The existing Phabricator image and Jenkins image from Bitnami are used as the base images for this composition.

.. _Phabricator image: https://hub.docker.com/r/bitnami/phabricator/ .. _Jenkins image: https://hub.docker.com/r/bitnami/jenkins/

You may wish to add these lines to your /etc/hosts file to aid in accessing the created containers. Phabricator requires a . in its name so it can't be just phabricator. Jenkins is running on port 8080 so access it via http://jenkins:8080/

.. code::

127.0.0.1 jenkins 127.0.0.1 phabricator.local

This was tested with a pipeline project. The project itself is private but the Jenkinsfile is included here as example_Jenkinsfile.

Setup Steps

These instructions are abbreviated at this point and assume some ability to navigate Phabricator and Jenkins.

Compose The Images

To start (depending on your Docker setup, sudo may be required):

.. code:: bash

docker-compose up -d

You can watch the Phabricator container log and wait a couple minutes until the overseer deamon starts.

The login:password for Phabricator is user:bitnami1 and for Jenkins user:bitnami. Please change them or entirely remove those users.

For those new to docker-compose, note that the image names are prefixed by the project name. This is derived from the directory containing the docker-compose.yml file unless overridden on the cli.

Phabricator

Jenkins

Quick Test

Find a commit and run the build plan manually. Check the build page for a completed status and in the Make HTTP Request Artifacts section for the Jenkins build URI.