Go to file
R. Tyler Croy 0bf436efe0 Merge pull request #98 from jenkins-infra/larrys-patch-1
Remove trailing space after password in email.
2016-11-30 07:56:18 -08:00
gradle/wrapper IntelliJ told me this is better as it allows source code & auto-completion 2016-06-15 10:43:20 +09:00
src Remove trailing space after password in email. 2016-11-30 08:34:37 -07:00
.gitignore Migrate the accountapp to Gradle and prepare for Docker-based deployment 2016-03-21 13:14:02 -07:00
Dockerfile Pick up a few more variables that the jira-ldap-syncer assumes will be there 2016-03-24 07:10:11 -07:00
Jenkinsfile Update the Jenkinsfile to be a bit more modern and properly skip deployment in pull requests 2016-11-09 11:46:25 -08:00
README.md This is a horrible UX, but I don't have time to fix this. 2016-06-15 14:23:34 +09:00
build.gradle Incorporated bug fix 2016-06-15 12:31:25 +09:00
bulk-import.sh added convenience scripts 2011-03-17 22:10:56 -07:00
circuitBreaker.txt Improved circuit breaker admin UI 2015-12-15 10:36:13 -08:00
gradlew Migrate the accountapp to Gradle and prepare for Docker-based deployment 2016-03-21 13:14:02 -07:00
gradlew.bat Migrate the accountapp to Gradle and prepare for Docker-based deployment 2016-03-21 13:14:02 -07:00
settings.gradle Force the project name to be `accountapp` so Gradle doesn't get clever 2016-03-21 14:38:01 -07:00

README.md

Jenkins Account Management/Sign-up App

Testing locally

First, set up a tunnel to Jenkins LDAP server. Run the following command and keep the terminal open:

ssh -L 9389:localhost:389 ldap.jenkins.io

Create config.properties in the same directory as pom.xml. See the Parameters class for the details, but it should look something like the following:

server=ldap://localhost:9389/
managerDN=cn=admin,dc=jenkins-ci,dc=org
newUserBaseDN=ou=people,dc=jenkins-ci,dc=org
smtpServer=localhost
managerPassword=*****
circuitBreakerFile=./circuitBreaker.txt
url=http://localhost:8080/account/

Finally, run the application with Jetty, then access http://localhost:8080/:

./gradlew -Djira.url=https://issues.jenkins-ci.org/ -Djira.username=kohsuke -Djira.password=... -Durl=ldap://localhost:9389 -Dpassword=... jettyRun

(As you can see above, this connects your test instance to the actual LDAP server, so the data you'll be seeing is real.

The command line system properties are for JIRA LDAP sync tool. JIRA user account you are providing has to have the system admin access to JIRA. TODO: feed this data from config.properties

Packaging

For deploying to production, this app gets containerized. The container expects to see /etc/accountapp mounted from outside that contains the abovementioned config.properties

To run the container locally, build it then:

docker run -ti --net=host  -v `pwd`:/etc/accountapp jenkinsciinfra/account-app:latest