This repository is intended to serve as a proof of concept for running a greenfield Maven application through a DevSecOps pipeline created by the ploigos-software-factory-operator.
- Clone this repository and cd into it:
git clone https://github.com/andykrohg/ploigos-onboarding-demo.git cd ploigos-onboarding-demo
- Generate a brand new application using the
quarkus-maven-plugin
:mvn io.quarkus:quarkus-maven-plugin:1.12.2.Final:create \ -DprojectGroupId=org.acme \ -DprojectArtifactId=getting-started \ -DclassName="org.acme.getting.started.GreetingResource" \ -Dpath="/hello"
- Add configuration to your project to wire it up for Ploigos. Create the directory
getting-started/cicd/ploigos-step-runner-config
:Add a Jenkinsfile tomkdir -p getting-started/cicd/ploigos-step-runner-config
getting-started/cicd
, which simply invokes theploigos-jenkins-library
:Add the providedcp Jenkinsfile getting-started/cicd/
config.yml
togetting-started/cicd/ploigos-step-runner-config
. This file is comprised of application-level properties that complement platform-level configuration, which is managed by yourTsscPlatform
in aConfigMap
calledploigos-platform-config
. Both config files will be passed toploigos-step-runner
for each pipeline step.Add the providedcp config.yml getting-started/cicd/ploigos-step-runner-config/
sonar-project.properties
file to thegetting-started
directory. This serves as a generic configuration which tells the Sonarqube CLI,sonar-scanner
, where to look for scanning targets during thestatic-code-analysis
pipeline step.cp sonar-project.properties getting-started/
- Initialize
getting-started
as a git repository, then push to github (or wherever):cd getting-started git init -b main git add . git commit -m "Anchors away! ⚓" git remote add origin https://github/<your account>/getting-started.git git push origin main cd ..
- (Optional) Create a fork of the ploigos-cloud-resources-template, particularly if you'd like to update the name of the chart here. Otherwise, your Kubernetes assets will have the default name
myapp
. - Replace line 10 of
tssc-pipeline.yml
with the URL for yourgetting-started
repository (pushed in Step 4). If you created a fork of the helm repo in Step 5, replace line 15 with your fork's URL as well. - Ensure that you're in the project where your
TsscPlatform
lives, and create aTsscPipeline
from file:oc project devsecops oc apply -f tssc-pipeline.yml