2014-05-02 01:05:15 +00:00
|
|
|
# Jenkins Account Management/Sign-up App
|
2016-01-07 21:31:02 +00:00
|
|
|
|
2014-05-02 01:05:15 +00:00
|
|
|
## Testing locally
|
2016-01-07 21:31:02 +00:00
|
|
|
|
|
|
|
First, set up a tunnel to Jenkins LDAP server. Run the following command and
|
|
|
|
keep the terminal open:
|
2012-12-22 17:33:07 +00:00
|
|
|
|
2016-06-15 03:27:33 +00:00
|
|
|
ssh -L 9389:localhost:389 ldap.jenkins.io
|
2012-12-22 17:33:07 +00:00
|
|
|
|
2016-01-07 21:31:02 +00:00
|
|
|
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:
|
2012-12-22 17:33:07 +00:00
|
|
|
|
|
|
|
server=ldap://localhost:9389/
|
|
|
|
managerDN=cn=admin,dc=jenkins-ci,dc=org
|
|
|
|
newUserBaseDN=ou=people,dc=jenkins-ci,dc=org
|
|
|
|
smtpServer=localhost
|
|
|
|
managerPassword=*****
|
2015-12-15 18:36:13 +00:00
|
|
|
circuitBreakerFile=./circuitBreaker.txt
|
|
|
|
url=http://localhost:8080/account/
|
2012-12-22 17:33:07 +00:00
|
|
|
|
|
|
|
Finally, run the application with Jetty, then access `http://localhost:8080/`:
|
|
|
|
|
2016-06-15 05:23:34 +00:00
|
|
|
./gradlew -Djira.url=https://issues.jenkins-ci.org/ -Djira.username=kohsuke -Djira.password=... -Durl=ldap://localhost:9389 -Dpassword=... jettyRun
|
2012-12-22 17:33:07 +00:00
|
|
|
|
2016-01-07 21:31:02 +00:00
|
|
|
(As you can see above, this connects your test instance to the actual LDAP
|
|
|
|
server, so the data you'll be seeing is real.
|
2014-05-01 18:16:21 +00:00
|
|
|
|
2016-06-15 05:23:34 +00:00
|
|
|
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
|
|
|
|
|
2014-05-01 18:16:21 +00:00
|
|
|
|
2014-05-02 01:05:15 +00:00
|
|
|
## Packaging
|
2014-05-01 18:16:21 +00:00
|
|
|
|
2016-01-07 21:31:02 +00:00
|
|
|
For deploying to production, this app gets containerized. The container expects
|
|
|
|
to see `/etc/accountapp` mounted from outside that contains the abovementioned
|
|
|
|
`config.properties`
|
2016-03-23 03:31:27 +00:00
|
|
|
|
|
|
|
|
|
|
|
To run the container locally, build it then:
|
|
|
|
|
|
|
|
docker run -ti --net=host -v `pwd`:/etc/accountapp jenkinsciinfra/account-app:latest
|