{"id":20699369,"url":"https://github.com/mig42/plasticscm-ci-testing","last_synced_at":"2026-05-01T20:31:41.033Z","repository":{"id":70310433,"uuid":"267820244","full_name":"mig42/plasticscm-ci-testing","owner":"mig42","description":"Docker Compose definitions to prepare CI environments to test Plastic SCM plugins","archived":false,"fork":false,"pushed_at":"2023-09-06T08:56:54.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-11T03:43:20.757Z","etag":null,"topics":["bamboo","docker","docker-compose","jenkins","plasticscm","plugins"],"latest_commit_sha":null,"homepage":"https://www.plasticscm.com/","language":"Dockerfile","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/mig42.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-29T09:37:03.000Z","updated_at":"2021-10-08T10:32:30.000Z","dependencies_parsed_at":"2024-11-17T00:39:44.472Z","dependency_job_id":null,"html_url":"https://github.com/mig42/plasticscm-ci-testing","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mig42/plasticscm-ci-testing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mig42%2Fplasticscm-ci-testing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mig42%2Fplasticscm-ci-testing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mig42%2Fplasticscm-ci-testing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mig42%2Fplasticscm-ci-testing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mig42","download_url":"https://codeload.github.com/mig42/plasticscm-ci-testing/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mig42%2Fplasticscm-ci-testing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32512662,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"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":["bamboo","docker","docker-compose","jenkins","plasticscm","plugins"],"created_at":"2024-11-17T00:29:26.481Z","updated_at":"2026-05-01T20:31:41.014Z","avatar_url":"https://github.com/mig42.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Plastic SCM - CI testing\n\nThis repository contains docker-compose projects we use to develop and test our\nCI plugins.\n\nThese environment are work in progress, as we expand them when we have the need.\n\nThey might seem too basic or rough, but that's because they're only intended\nfor testing environments! Please don't use them in your production environments.\nHowever, they might be useful to build your Docker images if you're interested\nin using Plastic SCM in your dockerized CI setup.\n\n## Bamboo\n\nThis environment provisions one Bamboo server and one Bamboo agent, both with\n`cm` installed. The HTTP server will listen in port `8085`.\n\nMake sure you provide a valid `client.conf` in `bamboo/client/config`! The agent\nand the server will use it to run the Plastic SCM Shell. You need to use the\nappropriate server name or IP.\n\nThe server will start with the default Plastic SCM plugin, copied from the\ndistributed package. However, we need to upload development version of the\nplugin. It's a version 1 plugin, so we need to copy the JAR file in the\n`atlassian-bamboo/WEB-INF/lib` directory before the server starts. Simply place\nyour custom plugin build in the `server/plugins` directory and Docker will\ndo the rest.\n\nBamboo will save its _home_ contents in `server/home`. All Bamboo data will\nappear there, so you can start up any new container -even with newer images- at\nany moment. All your Bamboo configurations will be there.\n\nWhen you're all set up, run `docker-compose up` in the `bamboo` directory.\n\n## Jenkins\n\nThis environment provisions one Jenkins server and one Jenkins slave, both with\n`cm` installed. The HTTP server will listen in port `8080`.\n\nMake sure you provide a valid `client.conf` for the server and the slave.\nThe server `client.conf` needs to be in `jenkins/server/home/.plastic4`, whereas\nthe slave one needs to be in `jenkins/slave/client-config`.\n\nThis difference comes from how the Jenkins server is set up: the `$HOME`\ndirectory of the `jenkins` user is the `JENKINS_HOME` as well, so we need\nto place our `.plastic4` directory there.\n\nKeep in mind that you need to use the appropriate server name or IP in both\n`client.conf` files.\n\nThe server will start with the latest Plastic SCM plugin version installed.\nWe don't currently have a way to start the Jenkins server with a custom plugin\ninstalled, but you can always install a new plugin using the web interface.\nThe Jenkins server is able to restart to load the new installed plugins.\n\nAs we mentioned, Jenkins will save its _home_ contents in `server/home`. All\nJenkins data (logs, build results, artifacts, etc.) will appear there, so you\ncan start up any new container -even with newer images- at any moment.\nEverything will be still there.\n\nRemember to write someting in `jenkins/slave/secret.txt`. At first you won't\nknow what should go there, just ensure the file exists. You need to wait until\nthe server is set up, and then go to *Manage Jenkins \u003e Manage Nodes and Clouds*.\n\nRegister there a new node. Be sure to name it as defined in\n`jenkins/docker-compose.yml`! Once registered, the node page will show you the\nsecret token you need to write in `jenkins/slave/secret.txt`.\n\nWhen you're all set up, run `docker-compose up` in the `jenkins` directory.\n\n### Points of improvement\n\n1. The Jenkins slave needs to be registered manually\n2. The Jenkins slave needs to wait until the Jenkins server is able to register agents\n    1. Right now it waits until the server accepts connections, but then the server returns\n       503 status codes\n\n## TeamCity\n\nThis environment provisions one TeamCity server and one TeamCity agent, both with `cm` installed.\nThe HTTP server will listen in port `8111`.\n\nEnsure you provide a valid `client.conf` for both containers. Place the server configuration in\n`teamcity/server/plastic-config` and the agent configuration in `teamcity/agent/plastic-config`.\n\nKeep in mind that you need to use the appropriate server name or IP in both `client.conf` files.\nYou can use `host.docker.internal` if your Plastic SCM server is running in the Docker host.\n\nYou'll need to manually install the Plastic SCM plugin using the TeamCity UI.\n\nThe server will save information in `teamcity/server/data`. Its logs will appear in\n`teamcity/server/logs`.\n\nWhen you're all set up, run `docker compose up` in the `teamcity` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmig42%2Fplasticscm-ci-testing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmig42%2Fplasticscm-ci-testing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmig42%2Fplasticscm-ci-testing/lists"}