Maven Boot Camp - DeAndre
Goal of this checklist
Set a clear path for training on Maven and the features GitLab offers that interact with Maven
Objectives:
- Know how Maven works
- Know how Maven interoperates with GitLab's features
Stage 1: Technical setup
-
Done with Stage 1 -
Install OpenJDK on your machine: https://pandacodez.com/tutorial/install-latest-jdk-java-on-mac-using-homebrew/ -
Install Maven: https://www.code2bits.com/how-to-install-maven-on-macos-using-homebrew/ -
Create a Hello World Spring Boot application, it will be useful for testing: https://docs.spring.io/spring-boot/docs/current/reference/html/getting-started.html#getting-started-first-application
-
Stage 2: Commit and become familiar with Maven
-
Done with Stage 2 -
Ping your manager on the issue to notify them you have started. -
In your Slack Notification Settings, set Maven and Java as Highlight Words -
Commit to this by notifying the current experts that they can start routing non-technical Maven questions to you -
The Maven documentation is a bit erratic. It mixes basic explanations with more esoteric ones. If you think things are getting too abstract or advanced, feel free to skip it. -
Read and go through the examples in https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html -
Read about the build lifecycle https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html -
Read about the POM file: https://maven.apache.org/guides/introduction/introduction-to-the-pom.html -
Read about the dependency mechanism: https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html -
Skim https://maven.apache.org/guides/getting-started/index.html, read the sections that draw your attention -
Skim at least the beginning of https://maven.apache.org/settings.html and https://maven.apache.org/pom.html -
Optional Configure Maven to operate through an HTTP proxy
-
Stage 3: Integrate your test project with GitLab features
-
Done with Stage 3 -
Configure a CI cache for Maven, so that it won't download all dependencies on every single build -
You can apply the Maven template: https://gitlab.com/gitlab-org/gitlab/blob/master/lib%2Fgitlab%2Fci%2Ftemplates%2FMaven.gitlab-ci.yml -
Run Auto Devops with your test project -
Configure your project to deploy to the GitLab Maven repository -
Configure a CI job that will deploy to the Maven repository when changes are merged into master. -
Configure another project to download dependencies from the GitLab repository -
You can base yourself on https://gitlab.com/gitlab-examples/maven/simple-maven-dep and https://gitlab.com/gitlab-examples/maven/simple-maven-app -
Optional Configure Maven to deploy to a GitLab with self-signed certs
-
Stage 4: Tickets
-
Done with Stage 4
-
Contribute valuable responses on at least 10 tickets involving Maven, even if a ticket seems too advanced for you to answer. Find the answers from an expert and relay it to the customer. -
__ -
__ -
__ -
__ -
__ -
__ -
__ -
__ -
__ -
__
-
Stage 5: Advanced scenarios
-
From the tickets above, reproduce two scenario that weren't covered in this bootcamp. Describe them below and link to the project with the implementation, if it applies. -
__ -
__
-
Final Stage:
-
Your Manager needs to check this box to acknowledge that you finished -
Send a MR to declare yourself a Maven Expert on the team page