{"id":20358156,"url":"https://github.com/irods/irods_testing_jenkins","last_synced_at":"2025-08-10T03:32:57.594Z","repository":{"id":45402970,"uuid":"155437444","full_name":"irods/irods_testing_jenkins","owner":"irods","description":null,"archived":false,"fork":false,"pushed_at":"2021-12-15T16:10:03.000Z","size":214,"stargazers_count":3,"open_issues_count":54,"forks_count":6,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-12T03:15:23.816Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/irods.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-30T18:35:29.000Z","updated_at":"2022-10-21T13:32:35.000Z","dependencies_parsed_at":"2022-07-21T02:34:46.093Z","dependency_job_id":null,"html_url":"https://github.com/irods/irods_testing_jenkins","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/irods/irods_testing_jenkins","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_testing_jenkins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_testing_jenkins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_testing_jenkins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_testing_jenkins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/irods","download_url":"https://codeload.github.com/irods/irods_testing_jenkins/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irods%2Firods_testing_jenkins/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269672009,"owners_count":24457111,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T23:25:36.102Z","updated_at":"2025-08-10T03:32:57.231Z","avatar_url":"https://github.com/irods.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Prerequisites\nAt least the following versions:\n\n```\n$ git --version\ngit version 1.9.0\n\n$ docker --version\nDocker version 18.06.1-ce, build e68fc7a\n```\n\n## Build Jenkins Image\nClone the repository, change directory, and build the docker image.\n\n```\ngit clone https://github.com/irods/irods_testing_jenkins\ncd irods_testing_jenkins\ndocker build -t irods-jenkins --build-arg arg_jenkins_output=/full/path/on/host/for/jenkins_output -f Dockerfile.jenkins .\n```\nRemember the path you specified for the **jenkins_output** directory. You'll need it later.\n\n## Docker Swarm\nWe will use docker swarm to install/run this image. Docker swarm generally consists of multiple Docker Engines. In this setup we just have once Docker Engine which is running on the host machine. The hostmachine is the manager as well as the node. Docker Swarm is being used for its secrets capability. The secrets generated using docker swarm will be used to secure the jenkins installation. For Docker Swarm to distribute images to its various nodes it needs the images to be in a registry. We will create a registry and then push a tagged version of irods-jenkins image to the local registry and then deploy the stack.\n\n- Initialize docker swarm\n    ```\n    docker swarm init\n    ```\n- Create and start a local registry:\n    ```\n    docker service create --name registry --publish published=5000,target=5000 registry:2\n    ```\n- Tag the irods-jenkins image so that it points to the local registry:\n    ```\n    docker tag irods-jenkins localhost:5000/irods-jenkins\n    ```\n- Push it to the local registry:\n    ```\n    docker push localhost:5000/irods-jenkins\n    ```\n- Verify the image was pushed to the registry:\n    ```\n    curl -X GET http://localhost:5000/v2/_catalog\n    ```\n- Create the secrets. Please use a different username and password on production systems.\n    ```\n    echo \"admin\" | docker secret create jenkins-user -\n    echo \"admin\" | docker secret create jenkins-pass -\n    ```\n- Update the **jenkins_output** volume mount in the **irods_jenkins.yml** file. The path must match the path you provided during the build. For example:\n    ```\n    - /full/path/on/host/for/jenkins_output:/jenkins_output:rw\n    ```\n- Deploy the image:\n    ```\n    docker stack deploy -c irods_jenkins.yml irods-jenkins\n    ```\n- Connect to the running Jenkins instance and login with admin/password:\n    http://localhost:8081\n- Stop Jenkins\n    ```\n    docker service rm irods-jenkins_main\n    ```\n- Restart Jenkins\n    ```\n    docker stack deploy -c irods_jenkins.yml irods-jenkins\n    ```\n\n## Miscellaneous\nIf you're interested in modifying or enhancing this project, see [DEVELOPERS.md](./DEVELOPERS.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firods%2Firods_testing_jenkins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firods%2Firods_testing_jenkins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firods%2Firods_testing_jenkins/lists"}