Reducing Boilerplate Code with github workflows maven plugin
More Time for Feature and functionality Through a simple set of github workflows templates and saving 60% of development time
- Auto generate by maven compile phase
- Auto JUnit Tests detector by adding "JUnit Tests" stage
- Auto Integration Tests detector by adding "Integration Tests" stage
- Auto Dockerfile detector by adding "Build Docker" stage
- Auto Maven artifact detector by adding "Deploy Maven Artifact" stage
- Auto Sonar report detector by adding "Sonar Report" stage
- Auto Deployment to Cloud Platform by adding "Deployment" stage
<profiles>
<profile>
<id>dev</id>
<build>
<plugins>
<plugin>
<groupId>de.microtema</groupId>
<artifactId>github-workflows-maven-plugin</artifactId>
<version>${project.version}</version>
<configuration>
<variables>
<DOCKER_REGISTRY>docker.io</DOCKER_REGISTRY>
<STAGE_NAME>NAME_$STAGE_NAME</STAGE_NAME>
</variables>
<stages>
<none>feature/*,bugfix/*</none>
<develop>develop</develop>
<release>release/*</release>
<master>master</master>
</stages>
</configuration>
<executions>
<execution>
<id>github-workflows</id>
<phase>validate</phase>
<goals>
<goal>generate</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
mvn validate -P dev
.github/workflows/master.yml NOTE: This is an example file.
name: Master Ci Pipeline
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
versioning:
runs-on: ubuntu-latest
steps:
- run: echo versioning
compile:
needs:
- versioning
runs-on: ubuntu-latest
steps:
- run: echo compile
security-check:
needs:
- compile
runs-on: ubuntu-latest
steps:
- run: echo security-check
unit-test:
needs:
- compile
runs-on: ubuntu-latest
steps:
- run: echo unit-test
acceptance-test:
needs:
- compile
runs-on: ubuntu-latest
steps:
- run: echo acceptance-test
quality-gate:
needs:
- unit-test
- acceptance-test
runs-on: ubuntu-latest
steps:
- run: echo quality-gate
build:
needs:
- quality-gate
runs-on: ubuntu-latest
steps:
- run: echo package
package:
needs:
- build
runs-on: ubuntu-latest
steps:
- run: echo package
promote:
needs:
- package
runs-on: ubuntu-latest
steps:
- run: echo package
deployment:
needs:
- promote
runs-on: ubuntu-latest
steps:
- run: echo deployment
readyness-check:
needs:
- deployment
runs-on: ubuntu-latest
steps:
- run: echo readyness-check
- Java 1.8
- Streams
- Lambdas
- Third Party Libraries
- Commons-BeanUtils (Apache License)
- Commons-IO (Apache License)
- Commons-Lang3 (Apache License)
- Mustache (MIT License)
- Junit (EPL 1.0 License)
- Code-Analyses
- Sonar
- Jacoco
95%
MIT (unless noted otherwise)