|
2 | 2 |
|
3 | 3 | In this folder 2 Jenkinsfile(s) are provided to execute some CI/CD process for different parts of the **My Thai Star** project. One for the **Angular client** and another one for the **Java server**. Both are intended to be executed in an already configured **Production Line instance**. This configuration is required to be **used by Devonfw projects**, and a guide can be found in the [**Devonfw Shop Floor** incubator's wiki](https://github.com/devonfw/devonfw-shop-floor/wiki/devonfw-shop-floor-4-production-line-environment).
|
4 | 4 |
|
| 5 | +## Installed plugins |
| 6 | + |
| 7 | +In order to run all pipelines, we have installed the following plugins (maybe not all are required): |
| 8 | + |
| 9 | +- **Pipeline Utility Steps (pipeline-utility-steps)** |
| 10 | +- OWASP Markup Formatter Plugin (antisamy-markup-formatter) |
| 11 | +- Office 365 Connector (Office-365-Connector) |
| 12 | +- JavaScript GUI Lib: ACE Editor bundle plugin (ace-editor) |
| 13 | +- Ant Plugin (ant) |
| 14 | +- Apache HttpComponents Client 4.x API Plugin (apache-httpcomponents-client-4-api) |
| 15 | +- Authentication Tokens API Plugin (authentication-tokens) |
| 16 | +- Autofavorite for Blue Ocean (blueocean-autofavorite) |
| 17 | +- Bitbucket Pipeline for Blue Ocean (blueocean-bitbucket-pipeline) |
| 18 | +- Common API for Blue Ocean (blueocean-commons) |
| 19 | +- Config API for Blue Ocean (blueocean-config) |
| 20 | +- Blue Ocean Core JS (blueocean-core-js) |
| 21 | +- Display URL for Blue Ocean (blueocean-display-url) |
| 22 | +- Events API for Blue Ocean (blueocean-events) |
| 23 | +- Git Pipeline for Blue Ocean (blueocean-git-pipeline) |
| 24 | +- GitHub Pipeline for Blue Ocean (blueocean-github-pipeline) |
| 25 | +- i18n for Blue Ocean (blueocean-i18n) |
| 26 | +- JIRA Integration for Blue Ocean (blueocean-jira) |
| 27 | +- JWT for Blue Ocean (blueocean-jwt) |
| 28 | +- Personalization for Blue Ocean (blueocean-personalization) |
| 29 | +- Pipeline implementation for Blue Ocean (blueocean-pipeline-api-impl) |
| 30 | +- Blue Ocean Pipeline Editor (blueocean-pipeline-editor) |
| 31 | +- Pipeline SCM API for Blue Ocean (blueocean-pipeline-scm-api) |
| 32 | +- REST Implementation for Blue Ocean (blueocean-rest-impl) |
| 33 | +- REST API for Blue Ocean (blueocean-rest) |
| 34 | +- Web for Blue Ocean (blueocean-web) |
| 35 | +- Blue Ocean (blueocean) |
| 36 | +- bouncycastle API Plugin (bouncycastle-api) |
| 37 | +- Branch API Plugin (branch-api) |
| 38 | +- build-env-propagator (build-env-propagator) |
| 39 | +- Build Timeout (build-timeout) |
| 40 | +- Bitbucket Branch Source Plugin (cloudbees-bitbucket-branch-source) |
| 41 | +- Folders Plugin (cloudbees-folder) |
| 42 | +- Command Agent Launcher Plugin (command-launcher) |
| 43 | +- Config File Provider Plugin (config-file-provider) |
| 44 | +- Credentials Binding Plugin (credentials-binding) |
| 45 | +- Credentials Plugin (credentials) |
| 46 | +- **Custom Tools Plugin (custom-tools-plugin)** |
| 47 | +- Deploy to container Plugin (deploy) |
| 48 | +- disk-usage plugin (disk-usage) |
| 49 | +- Display URL API (display-url-api) |
| 50 | +- Docker Commons Plugin (docker-commons) |
| 51 | +- Docker API Plugin (docker-java-api) |
| 52 | +- Docker plugin (docker-plugin) |
| 53 | +- Docker Pipeline (docker-workflow) |
| 54 | +- Durable Task Plugin (durable-task) |
| 55 | +- Email Extension Plugin (email-ext) |
| 56 | +- EnvInject API Plugin (envinject-api) |
| 57 | +- Environment Injector Plugin (envinject) |
| 58 | +- Extended Choice Parameter Plug-In (extended-choice-parameter) |
| 59 | +- External Monitor Job Type Plugin (external-monitor-job) |
| 60 | +- Favorite (favorite) |
| 61 | +- Gerrit Trigger (gerrit-trigger) |
| 62 | +- GitHub Pull Request Builder (ghprb) |
| 63 | +- Git client plugin (git-client) |
| 64 | +- GIT server Plugin (git-server) |
| 65 | +- Git plugin (git) |
| 66 | +- GitHub API Plugin (github-api) |
| 67 | +- GitHub Branch Source Plugin (github-branch-source) |
| 68 | +- GitHub Integration Plugin (github-pullrequest) |
| 69 | +- GitHub plugin (github) |
| 70 | +- Gradle Plugin (gradle) |
| 71 | +- JavaScript GUI Lib: Handlebars bundle plugin (handlebars) |
| 72 | +- Handy Uri Templates 2.x API Plugin (handy-uri-templates-2-api) |
| 73 | +- HTML Publisher plugin (htmlpublisher) |
| 74 | +- Icon Shim Plugin (icon-shim) |
| 75 | +- Jackson 2 API Plugin (jackson2-api) |
| 76 | +- Javadoc Plugin (javadoc) |
| 77 | +- Design Language (jenkins-design-language) |
| 78 | +- JIRA plugin (jira) |
| 79 | +- JavaScript GUI Lib: jQuery bundles (jQuery and jQuery UI) plugin (jquery-detached) |
| 80 | +- jQuery UI plugin (jquery-ui) |
| 81 | +- jQuery plugin (jquery) |
| 82 | +- JSch dependency plugin (jsch) |
| 83 | +- JUnit Plugin (junit) |
| 84 | +- LDAP Plugin (ldap) |
| 85 | +- Lockable Resources plugin (lockable-resources) |
| 86 | +- Mailer Plugin (mailer) |
| 87 | +- MapDB API Plugin (mapdb-api) |
| 88 | +- Matrix Authorization Strategy Plugin (matrix-auth) |
| 89 | +- Matrix Project Plugin (matrix-project) |
| 90 | +- **Maven Integration plugin (maven-plugin)** |
| 91 | +- Mercurial plugin (mercurial) |
| 92 | +- JavaScript GUI Lib: Moment.js bundle plugin (momentjs) |
| 93 | +- Multiple SCMs plugin (multiple-scms) |
| 94 | +- **NodeJS Plugin (nodejs)** |
| 95 | +- PAM Authentication plugin (pam-auth) |
| 96 | +- Pipeline: Build Step (pipeline-build-step) |
| 97 | +- Pipeline: GitHub (pipeline-github) |
| 98 | +- Pipeline GitHub Notify Step Plugin (pipeline-githubnotify-step) |
| 99 | +- Pipeline Graph Analysis Plugin (pipeline-graph-analysis) |
| 100 | +- Pipeline: Input Step (pipeline-input-step) |
| 101 | +- Pipeline Maven Integration Plugin (pipeline-maven) |
| 102 | +- Pipeline: Milestone Step (pipeline-milestone-step) |
| 103 | +- Pipeline: Model API (pipeline-model-api) |
| 104 | +- Pipeline: Declarative Agent API (pipeline-model-declarative-agent) |
| 105 | +- Pipeline: Declarative (pipeline-model-definition) |
| 106 | +- Pipeline: Declarative Extension Points API (pipeline-model-extensions) |
| 107 | +- Pipeline: REST API Plugin (pipeline-rest-api) |
| 108 | +- Pipeline: Stage Step (pipeline-stage-step) |
| 109 | +- Pipeline: Stage Tags Metadata (pipeline-stage-tags-metadata) |
| 110 | +- Pipeline: Stage View Plugin (pipeline-stage-view) |
| 111 | +- Plain Credentials Plugin (plain-credentials) |
| 112 | +- pom2config (pom2config) |
| 113 | +- Publish Over SSH (publish-over-ssh) |
| 114 | +- Infrastructure plugin for Publish Over X (publish-over) |
| 115 | +- Pub-Sub "light" Bus (pubsub-light) |
| 116 | +- Purge Job History Plugin (purge-job-history) |
| 117 | +- Resource Disposer Plugin (resource-disposer) |
| 118 | +- Reverse Proxy Auth Plugin (reverse-proxy-auth-plugin) |
| 119 | +- SCM API Plugin (scm-api) |
| 120 | +- Selenium Plugin (selenium) |
| 121 | +- SeleniumRC plugin (seleniumrc-plugin) |
| 122 | +- **SonarQube Scanner for Jenkins (sonar)** |
| 123 | +- Server Sent Events (SSE) Gateway Plugin (sse-gateway) |
| 124 | +- SSH Agent Plugin (ssh-agent) |
| 125 | +- SSH Credentials Plugin (ssh-credentials) |
| 126 | +- SSH Slaves plugin (ssh-slaves) |
| 127 | +- Structs Plugin (structs) |
| 128 | +- Subversion Plug-in (subversion) |
| 129 | +- Self-Organizing Swarm Plug-in Modules (swarm) |
| 130 | +- Terminal Plugin (terminal) |
| 131 | +- Timestamper (timestamper) |
| 132 | +- Token Macro Plugin (token-macro) |
| 133 | +- Variant Plugin (variant) |
| 134 | +- VncRecorder Plugin (vncrecorder) |
| 135 | +- Windows Slaves Plugin (windows-slaves) |
| 136 | +- Pipeline (workflow-aggregator) |
| 137 | +- Pipeline: API (workflow-api) |
| 138 | +- Pipeline: Basic Steps (workflow-basic-steps) |
| 139 | +- Pipeline: Shared Groovy Libraries (workflow-cps-global-lib) |
| 140 | +- Pipeline: Groovy (workflow-cps) |
| 141 | +- Pipeline: Nodes and Processes (workflow-durable-task-step) |
| 142 | +- Pipeline: Job (workflow-job) |
| 143 | +- Pipeline: Multibranch (workflow-multibranch) |
| 144 | +- Pipeline: SCM Step (workflow-scm-step) |
| 145 | +- Pipeline: Step API (workflow-step-api) |
| 146 | +- Pipeline: Supporting APIs (workflow-support) |
| 147 | +- Workspace Cleanup Plugin (ws-cleanup) |
| 148 | +- Xvnc plugin (xvnc) |
| 149 | +- Dashboard for Blue Ocean (blueocean-dashboard) |
| 150 | +- Script Security Plugin (script-security) |
| 151 | + |
| 152 | +Most of them come pre-installed with the production line instance. The ones we need are the ones related to the pipeline and the ones in bold. |
| 153 | + |
| 154 | +## Tools |
| 155 | + |
| 156 | +- Java 8u192 JDK \ |
| 157 | +  |
| 158 | +- Google Chrome Stable \ |
| 159 | +  |
| 160 | +- SonarQube Scanner 3.2.0.1227 \ |
| 161 | +  |
| 162 | +- Maven 3.6.0 |
| 163 | +  |
| 164 | +- NodeJS 10.14.0 + yarn |
| 165 | +  |
| 166 | + |
| 167 | +## How to create the pipelines |
| 168 | + |
| 169 | +You only need to create a new pipeline and modify the configuration following the image: |
| 170 | + |
| 171 | + |
5 | 172 | **TIP**: All environment variables used on both Jenkinsfiles should be declared in the correspondant Jenkins Pipeline configuration more or less like this:
|
6 | 173 |
|
7 |
| - |
| 174 | + |
0 commit comments