Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pipeline {
- agent none
- triggers {
- // Schedule every Sunday
- cron('H H * * 7')
- }
- options{
- timeout(time: 60, unit: 'MINUTES')
- }
- stages('Run Pipeline'){
- stage('Run Parallel'){
- parallel {
- stage('Frontend') {
- agent {
- dockerfile{
- dir 'TestReporter/frontend'
- filename 'DockerfileFrontend'
- }
- }
- environment {
- HOME = "."
- }
- stages {
- stage('Install') {
- steps {
- dir("TestReporter/frontend") {
- sh 'npm ci'
- }
- }
- }
- stage('Build Client') {
- steps {
- dir("TestReporter/frontend") {
- sh 'npm run build'
- }
- }
- }
- stage('Publish'){
- steps{
- dir("TestReporter/frontend"){
- sh 'chmod 700 publish.sh'
- sh './publish.sh'
- }
- }
- }
- stage('Cleanup'){
- steps{
- dir("TestReporter/frontend"){
- sh 'rm -rf node_modules'
- }
- }
- }
- }
- }
- stage('Backend'){
- agent {
- label 'windows_standard'
- }
- stages{
- stage('Restore') {
- steps {
- dir("TestReporter/backend") {
- bat 'dotnet restore -clp:ForceConsoleColor'
- }
- }
- }
- stage('Build') {
- steps {
- dir("TestReporter/backend") {
- bat 'dotnet build --no-restore -clp:ForceConsoleColor'
- }
- }
- }
- stage('Test') {
- steps {
- dir("TestReporter/backend") {
- // Ignore return code, so that failing test results in yellow build
- bat returnStatus: true, script: 'dotnet test --logger "trx;LogFileName=TestResults.trx" --no-build -clp:ForceConsoleColor'
- }
- }
- post {
- always {
- dir("TestReporter/backend") {
- step([$class: 'MSTestPublisher', testResultsFile: "**/TestResults/*.trx", failOnError: true, keepLongStdio: true])
- }
- }
- }
- }
- stage('Deploy') {
- steps {
- dir("TestReporter/backend") {
- bat 'dotnet publish TestReporterBackend /p:PublishProfile="DeployAzure" /p:Password="Den wolltest du wohl klauen"'
- }
- }
- }
- stage('Cleanup') {
- steps {
- dir("TestReporter/backend") {
- bat 'dotnet clean'
- }
- }
- }
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement