Giter VIP home page Giter VIP logo

jfactory's Introduction

JFactory

http://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/atteo/jfactory-starter/master/docker-compose.yml

Overview

JFactory is a ready to use CI/CD environment created as a series of a Docker containers. Currently it contains:

  • Gerrit for management of the Git repositories
  • Jenkins for verifying reviews and continuously deploying ready product
  • Nexus for keeping binary files
  • Nginx which acts as a proxy to Gerrit, Jenkins and Nexus

Quick installation instructions

  1. Download starter repository.
git clone https://github.com/atteo/jfactory-starter
  1. Execute:
setup.sh
  1. Edit '.env' file and set at least LDAP_URL and LDAP_ACCOUNT_BASE

  2. Start Docker containers:

docker-compose up

Docker-compose will start Gerrit, Nexus, Jenkins and Nginx. As Gerrit setup is not finished yet, Jenkins might be unable to connect to Gerrit and the following error will be shown in the logs:

com.sonymobile.tools.gerrit.gerritevents.ssh.SshException: com.jcraft.jsch.JSchException: Auth fail

This is normal on first run.

  1. Open Gerrit web page:
http://172.179.0.1/gerrit

Note: URL might be different, if you modified MAIN_URL in .env file

Log in as admin/admin123

  1. Add SSH public key

  2. From console execute

cat ~/jfactory-ldap-starter/certificates/jenkins_key.pub | ssh -p 29418 -i ~/.ssh/id_rsa admin@localhost gerrit create-account --ssh-key - --http-password admin123 jenkins

Fixes: - Jenkins permission in Gerrit (forge identity) - REST API connection - url to access Jenkins from slaves - adding Jenkins user automatically

jfactory's People

Contributors

barti271 avatar charlew avatar kazagkazag avatar kzagrabski avatar miwysock avatar rembol avatar sentinelt avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

jfactory's Issues

Add chromium to javascript slave

Could you please add Chromium to java script slave? It is required by karma test launcher to run unit tests. Or maybe create additional slave -"javascript-with-chromium" ?

jenkins slave node locale not set

There is a problem with jenkins slave nodes stared as docker containers.
The container and jenkins-agent does not have locale set to utf-8. When project uses filenames encoded in UTF-8, problems start to come up.

Exception thrown: java.io.IOException: remote file operation failed: /home/jenkins/workspace/project_path at hudson.remoting.Channel@6f532748:Channel to /172.179.0.1: java.io.IOException: java.nio.file.InvalidPathException: Malformed input or input contains unmappable characters: /home/jenkins/workspace/project_path/filename_in_UTF8

Consider setting UTF-8 for both: jenkins-slave container and jenkins-agent (-Dfile.encoding=UTF-8).

Incorrect timezone in Jenkins javascript slave

Please set correct timezone in Jenkins javascript slave, because now every new Date() call in JS scripts returns date in wrong timezone, and of course I don't want to set process.env.TZ in script, because, you know, it sucks.

Anyway, remarkable job, man!

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.