├── .gitignore
├── docs
├── assets
│ ├── img
│ │ └── codemc_logo.png
│ └── css
│ │ └── styling.css
├── jenkins
│ ├── index.md
│ ├── deploy.md
│ ├── gradle.md
│ ├── maven.md
│ └── github-integration.md
├── services
│ ├── nexus
│ │ ├── index.md
│ │ └── deploy.md
│ ├── index.md
│ └── ci
│ │ ├── integrations
│ │ ├── setup-bitbucket.md
│ │ ├── index.md
│ │ ├── setup-github.md
│ │ ├── setup-gitlab.md
│ │ └── setup-gitea.md
│ │ ├── index.md
│ │ └── setups
│ │ ├── gradle-job.md
│ │ └── maven-job.md
├── faq
│ ├── non-mc-projects.md
│ ├── cannot-access-folders.md
│ ├── adding-your-project.md
│ ├── index.md
│ ├── build-jdk-8-project.md
│ └── using-nms-repository.md
├── index.md
└── usage-guidelines.md
├── requirements.txt
├── theme
└── .icons
│ └── jenkins
│ ├── play.svg
│ ├── timer.svg
│ ├── source-code-management.svg
│ ├── environment.svg
│ ├── LICENSE
│ ├── freestyle-project.svg
│ ├── post-build.svg
│ └── settings.svg
├── renovate.json
├── README.md
└── mkdocs.yml
/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore .cache folder created by git-committers plugin
2 | .cache/
--------------------------------------------------------------------------------
/docs/assets/img/codemc_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/CodeMC/Documentation/HEAD/docs/assets/img/codemc_logo.png
--------------------------------------------------------------------------------
/requirements.txt:
--------------------------------------------------------------------------------
1 | mkdocs-material==9.7.1
2 | pymdown-extensions==10.19.1
3 | mkdocs-git-revision-date-localized-plugin==1.5.0
4 |
--------------------------------------------------------------------------------
/docs/jenkins/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | template: redirect.html
3 | location: '../../services'
4 | ---
5 |
6 |
--------------------------------------------------------------------------------
/docs/jenkins/deploy.md:
--------------------------------------------------------------------------------
1 | ---
2 | template: redirect.html
3 | location: '../../services/nexus/deploy'
4 | ---
5 |
6 |
--------------------------------------------------------------------------------
/docs/jenkins/gradle.md:
--------------------------------------------------------------------------------
1 | ---
2 | template: redirect.html
3 | location: '../../services/ci/setups/gradle-job'
4 | ---
5 |
6 |
--------------------------------------------------------------------------------
/docs/jenkins/maven.md:
--------------------------------------------------------------------------------
1 | ---
2 | template: redirect.html
3 | location: '../../services/ci/setups/maven-job'
4 | ---
5 |
6 |
--------------------------------------------------------------------------------
/docs/jenkins/github-integration.md:
--------------------------------------------------------------------------------
1 | ---
2 | template: redirect.html
3 | location: '../../services/ci/integrations/setup-github'
4 | ---
5 |
6 |
--------------------------------------------------------------------------------
/docs/services/nexus/index.md:
--------------------------------------------------------------------------------
1 | # Nexus
2 |
3 | CodeMC offers a Nexus (Remote Repository System) for your project to use, allowing you to deploy it for others to then integrate and use in their own project.
4 |
5 | You can read more about how to deploy to our Nexus [here](deploy.md).
--------------------------------------------------------------------------------
/theme/.icons/jenkins/play.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/assets/css/styling.css:
--------------------------------------------------------------------------------
1 | :root > * {
2 | --md-primary-fg-color: #0172ba;
3 | }
4 |
5 | .md-header__button.md-logo img {
6 | height: 2.5rem;
7 | width: auto;
8 | }
9 |
10 | .md-nav__title > .md-nav__button.md-logo img {
11 | height: 2.5rem;
12 | width: auto;
13 | }
14 |
15 | [dir="ltr"] .md-header__title {
16 | margin-left: 0;
17 | }
18 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3 | "extends": [
4 | "config:recommended",
5 | "group:allNonMajor"
6 | ],
7 | "dependencyDashboard": false,
8 | "packageRules": [
9 | {
10 | "matchUpdateTypes": [
11 | "minor",
12 | "patch",
13 | "pin",
14 | "digest"
15 | ],
16 | "automerge": true
17 | }
18 | ]
19 | }
20 |
--------------------------------------------------------------------------------
/theme/.icons/jenkins/timer.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/faq/non-mc-projects.md:
--------------------------------------------------------------------------------
1 | # Are non-Minecraft projects allowed?
2 |
3 | **Short Answer:** Yes
4 |
5 | **Long Answer:** CodeMC accepts any Java (or Java-related) project that shows thorough quality and usefulness for the overall programming community, be it a library, software, or even a game. If you're using Kotlin or Scala, your project should compile to the JVM while continuing to provide services intended for the community.
6 | What matters is, that the project is following our [Usage Guidelines](../usage-guidelines.md) to remain on our Services.
7 |
--------------------------------------------------------------------------------
/docs/faq/cannot-access-folders.md:
--------------------------------------------------------------------------------
1 | # Why can I not access Job Configurations/Folders?
2 |
3 | This is usually only the case for organizations that have been added to CodeMC.
4 | Should you encounter this with an organization, head over to your [Connection Settings on GitHub](https://github.com/settings/applications) and make sure you granted the [CodeMC Application](https://github.com/settings/connections/applications/2debe3b061b244423bf5) access to your User Account and Organization in question. This is indicated by a green checkmark next to the Organization displayed.
5 |
--------------------------------------------------------------------------------
/docs/services/index.md:
--------------------------------------------------------------------------------
1 | # CodeMC Services
2 |
3 | CodeMC is currently offering the following Services for you to use, once you have been approved to join:
4 |
5 |
6 |
7 | - ### [CI](ci/index.md)
8 |
9 | ----
10 |
11 | CodeMC offers a Jenkins CI instance for you to build new version with for your project.
12 |
13 | - ### [Nexus](nexus/index.md)
14 |
15 | ----
16 |
17 | CodeMC's Nexus service allows you to deploy your project for others to integrate into their own projects.
18 |
19 |
--------------------------------------------------------------------------------
/theme/.icons/jenkins/source-code-management.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/theme/.icons/jenkins/environment.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 | # Welcome to CodeMC
2 |
3 | This site contains important pages around our CI site and how you can use it.
4 |
5 | ## Jenkins Docs
6 |
7 |
8 |
9 | - ### [FAQ](faq/index.md)
10 |
11 | ----
12 |
13 | Frequently asked questions about our Services.
14 |
15 | - ### [CI Service](services/ci/index.md)
16 |
17 | ----
18 |
19 | Our CI Service allows you to build new jars for your project.
20 |
21 | - ### [Nexus Service](services/nexus/deploy.md)
22 |
23 | ----
24 |
25 | CodeMC offers a Nexus for you to deploy your projects towards, so that others can use them.
26 |
27 | - ### [Usage Guidelines](usage-guidelines.md)
28 |
29 | ----
30 |
31 | We have specific rules and guidelines in place to keep a healthy ecosystem. Read them.
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/docs/faq/adding-your-project.md:
--------------------------------------------------------------------------------
1 | # How to add your project to CodeMC?
2 |
3 | CodeMC is open for join requests, as we want to offer a free and reliable CI-Service to everyone that needs one.
4 |
5 | In order to join will you need to join the [Discord Server](https://discord.gg/AGcFMu6). There, head to the `#request-access` channel and read the Pinned Message as it contains important info on what requirements you need to fulfill and how to request being added.
6 |
7 | /// note
8 | You are only required to make one join request with a project.
9 | If you are accepted to the CI, you can create new projects by yourself without additional approval.
10 |
11 | Keep in mind however, that any new project you make needs to follow our [Usage Guidelines](../usage-guidelines.md) and that failing to do so may result in punishments outlined [here](../usage-guidelines.md#punishments).
12 | ///
13 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | [badge]: https://img.shields.io/discord/405915656039694336?color=7289DA&label=Discord&logo=discord
2 | [discord]: https://discord.gg/AGcFMu6
3 |
4 | # Documentation
5 | A repository explaining how to make use of our Jenkins and Nexus instances. The documentation is hosted over Cloudflare Pages.
6 |
7 | View documentation: [https://docs.codemc.io/](https://docs.codemc.io/)
8 |
9 | Jenkins CI: [https://ci.codemc.io](https://ci.codemc.io/)
10 | Maven repository: [https://repo.codemc.io](https://repo.codemc.io/)
11 |
12 | ## About
13 | Welcome to CodeMC, a public Jenkins instance and Maven repository for open-source Minecraft projects.
14 | If you want to add your build job to our instance please [contact us](#support-), we'd love to support your project(s)!
15 |
16 | ## Support ![badge]
17 | If you need help or you have a question, feel free to join our [Discord server][discord]!
18 |
--------------------------------------------------------------------------------
/docs/services/ci/integrations/setup-bitbucket.md:
--------------------------------------------------------------------------------
1 | # Setup BitBucket Integration
2 |
3 | CodeMC supports integrating with [BitBucket](https://bitbucket.org){ target="_blank" rel="nofollow" } for creating new builds on commits, pull requests, or other events.
4 |
5 | ## Setup Automatic Builds
6 |
7 | CodeMC allows to create new builds whenever commits are done to a connected BitBucket Repository.
8 |
9 | 1. Go to your repository and press the :octicons-gear-16: **Settings** Tab.
10 | 2. Click :octicons-webhook-16: **Webhooks** inside the column.
11 | 3. Click the **Add Webhook** Button on the top-right of the page.
12 | 4. Add `https://ci.codemc.io/bitbucket-webhook/` as the value of the **URL**.
13 | 5. For **Title**, set it to something recognizable (e.g. `CodeMC`).
14 | 6. For **Which events would you like to trigger this webhook?** either leave it at *"Repository push"* or select *"Choose from a full list of triggers"* and select the following options:
15 | - `Pull requests`
16 | - `Pushes`
17 | - `Repositories`
18 | 7. Save your Webhook by clicking the **Add webhook** button at the bottom.
--------------------------------------------------------------------------------
/docs/faq/index.md:
--------------------------------------------------------------------------------
1 | # FAQ
2 |
3 | This section of the Wiki contains common questions you may have.
4 |
5 |
6 |
7 | - ### [How to add your project to CodeMC?](adding-your-project.md)
8 |
9 | ----
10 |
11 | How you can get your project added to the CodeMC Services and what you need to keep in mind.
12 |
13 | - ### [Are non-Minecraft projects allowed?](non-mc-projects.md)
14 |
15 | ----
16 |
17 | Answers to the question wether only MC related projects are allowed or not.
18 |
19 | - ### [Why can I not access Job Configurations/Folders?](cannot-access-folders.md)
20 |
21 | ----
22 |
23 | Common reasons for why you can't access a Job Configuration.
24 |
25 | - ### [How to use the NMS Repository?](using-nms-repository.md)
26 |
27 | ----
28 |
29 | Information on how you can utilize the NMS Repository of CodeMC in your projects.
30 |
31 | - ### [How do I build a Maven Project with JDK 8/11?](build-jdk-8-project.md)
32 |
33 | ----
34 |
35 | How you can build a project for and/or with Java 8 on the Jenkins Service of CodeMC.
36 |
37 |
38 |
--------------------------------------------------------------------------------
/theme/.icons/jenkins/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2015-present Ionic (http://ionic.io/)
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in
13 | all copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/docs/services/ci/integrations/index.md:
--------------------------------------------------------------------------------
1 | # Setup Git Integration
2 |
3 | CodeMC automatically links with any Git provider upon initial acceptance of your project. In addition to this, CodeMC automatically configures your project to be polled over SCM every 15 minutes.
4 |
5 | If you're using a specific provider, you can navigate through this section to link with your specific Source Control Management provider for additional features, such as building on a commit basis or reporting CI status. Otherwise, no additonal setup is required.
6 |
7 | ## Specific SCM Providers
8 |
9 |
--------------------------------------------------------------------------------
/docs/faq/build-jdk-8-project.md:
--------------------------------------------------------------------------------
1 | # How do I build a Maven Project with JDK 8/11?
2 |
3 | Jenkins dropped official support for JDK 8/11 Maven builds. To still build projects using this Java version, you can either use our custom Maven plugin to select a JDK Toolchain based on your `maven-compiler-plugin` settings, or cross-compile with a newer JDK Version.
4 |
5 | ## Toolchain Plugin
6 |
7 | Our custom Maven Plugin can select a toolchain (e.g. JDK 8/11) during the build process. For this, the following workaround is required:
8 |
9 | 1. Set the JDK version to JDK 17.
10 | 2. Add the following maven goal to the command line:
11 | `io.codemc.maven.plugins.toolchain:codemc-toolchain-selector:0.0.2-SNAPSHOT:select`
12 |
13 | ## Cross-Compiling
14 |
15 | Cross-compiling is the process of targeting a different platform than the compiler itself.
16 | In this case, it allows to use any JDK beyond Java 8 to generate a build that is still compatible with the older version.
17 |
18 | You can achieve this by using `source` and `target` in the `maven-compiler-plugin` configuration. However, the usage of `release` is recommended in order to verify that you don't use any Java API methods introduced in later Java versions:
19 |
20 | ```xml
21 |
22 |
23 | org.apache.maven.plugins
24 | maven-compiler-plugin
25 | 3.10.1
26 |
27 | 8
28 |
29 |
30 |
31 | ```
32 |
--------------------------------------------------------------------------------
/docs/services/ci/integrations/setup-github.md:
--------------------------------------------------------------------------------
1 | # Setup GitHub Integration
2 |
3 | CodeMC supports integrating with [GitHub](https://github.com){ target="_blank" rel="nofollow" } for features such as creating new builds on commits or return a build status on Pull requests, commits, etc.
4 | This page tries to explain how you can enable such features.
5 |
6 | ## Setup Automatic Builds
7 |
8 | CodeMC allows to create new builds whenever commits are done to a connected GitHub Repository.
9 | The setup can be done either for an entire Organization, meaning that it applies to all repositories hosted on that Organization, or for a specific repository alone. The steps are the same, except for where you access the settings:
10 |
11 | /// note
12 | Organizations require to have the [CodeMC Application](https://github.com/settings/connections/applications/2debe3b061b244423bf5){ target="_blank" rel="nofollow" } approved to properly access the Organization on the CI.
13 | ///
14 |
15 | 1. Go to your Organization/Repository and press the :octicons-gear-16: **Settings** Tab.
16 | 2. Click :octicons-webhook-16: **Webhooks** on the left sidebar.
17 | 3. Click the **Add Webhook** Button on the top-right of the page.
18 | 4. Add `https://ci.codemc.io/github-webhook/` as the value of **Payload URL**.
19 | 5. For **Which events would you like to trigger this webhook?** either leave it at *"Just the `push` event."* or select *"Let me select individual events."* and select the following options:
20 | - `Pull requests`
21 | - `Pushes`
22 | - `Repositories`
23 | 6. Save your Webhook by clicking the **Add webhook** button at the bottom.
24 |
25 | ## Setup a Commit Status
26 |
27 | /// danger | Work in Progress
28 | This section is currently being reworked and not available right now.
29 | ///
--------------------------------------------------------------------------------
/docs/services/ci/index.md:
--------------------------------------------------------------------------------
1 | # CI Service
2 |
3 | CodeMC allows you to configure steps for your project to execute whenever a new build is triggered.
4 | It also has integrated support for automatic builds from all Remote Repository hosts that support [Git](https://git-scm.com).
5 |
6 | ## Git Integrations
7 |
8 | CodeMC supports any remote Git Repository, but also has support for specific Repository Hosts such as GitHub, GitLab or Gitea/Forgejo.
9 |
10 |
11 |
12 | - ### [Setup Git Integration](integrations/index.md)
13 |
14 | ----
15 |
16 | How to setup a general Git Repository integration in CodeMC.
17 |
18 | - ### [Setup GitHub Integration](integrations/setup-github.md)
19 |
20 | ----
21 |
22 | How to setup webhook-based triggers for GitHub hosted repositories.
23 |
24 | - ### [Setup GitLab Integration](integrations/setup-gitlab.md)
25 |
26 | ----
27 |
28 | How to setup webhook-based triggers for GitLab hosted repositories.
29 |
30 | - ### [Setup Gitea Integration](integrations/setup-gitea.md)
31 |
32 | ----
33 |
34 | How to setup webhook-based triggers for Gitea/Forgejo hosted repositories.
35 |
36 | - ### [Setup BitBucket Integration](integrations/setup-bitbucket.md)
37 |
38 | ----
39 |
40 | How to setup webhook-based triggers for BitBucket hosted repositories.
41 |
42 |
43 |
44 | ## Project Setups
45 |
46 | These pages explain how you can setup your project to build your content whenever a trigger is executed.
47 |
48 |
49 |
50 | - ### [Setup a Gradle Job](setups/gradle-job.md)
51 |
52 | ----
53 |
54 | How to setup a Gradle Build job.
55 |
56 | - ### [Setup a Maven Job](setups/maven-job.md)
57 |
58 | ----
59 |
60 | How to setup a Maven Build Job.
61 |
62 |