From 7a5b53667ba149e52b2b8796a62cd4e4f871c211 Mon Sep 17 00:00:00 2001 From: lrochette Date: Thu, 20 Jun 2024 12:52:09 -0700 Subject: [PATCH 01/21] Adding pipeline --- codefresh/dotnet-core-local.yaml | 43 ++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 codefresh/dotnet-core-local.yaml diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml new file mode 100644 index 0000000..b041bbe --- /dev/null +++ b/codefresh/dotnet-core-local.yaml @@ -0,0 +1,43 @@ +version: "1.0" +stages: + - "clone" + - "build" + - "test" + +steps: + clone: + title: "Cloning repository" + type: "git-clone" + repo: "${{CF_REPO_OWNER}}/${{CF_REPO_NAME}}" + revision: "${{CF_BRANCH}}" + git: "github" + stage: "clone" + + install_deps: + title: "Install dependencies" + image: docker.io/bitnami/dotnet:${{DOTNET_VERSION}} + working_directory: "${{clone}}" + commands: + - dotnet restore + stage: "build" + + create_artifact_folders: + title: "Create Artifact Folders" + image: "ubuntu:latest" + working_directory: "${{clone}}" # Running command where code cloned + commands: + - | + mkdir "./artifacts" + mkdir "./artifacts/OctopusSamples.OctoPetShop.Database" + mkdir "./artifacts/OctopusSamples.OctoPetShop.Web" + mkdir "./artifacts/OctopusSamples.OctoPetShop.ProductService" + mkdir "./artifacts/OctopusSamples.OctoPetShop.ShoppingCartService" + stage: "build" + + publish_database: + title: Publish OctoPetShopDatabase + image: docker.io/bitnami/dotnet:${{DOTNET_VERSION}} + working_directory: "${{clone}}" + commands: + - dotnet publish OctopusSamples.OctoPetShop.Database/OctopusSamples.OctoPetShop.Database.csproj --configuration Release --no-restore --output "$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.Database" + stage: "build" From 29b65d8e12793648cbdc90b3957f3c10ec6f7dd6 Mon Sep 17 00:00:00 2001 From: lrochette Date: Thu, 20 Jun 2024 17:03:45 -0700 Subject: [PATCH 02/21] Change dotnet image Signed-off-by: lrochette --- codefresh/dotnet-core-local.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index b041bbe..af03b16 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -15,7 +15,7 @@ steps: install_deps: title: "Install dependencies" - image: docker.io/bitnami/dotnet:${{DOTNET_VERSION}} + image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - dotnet restore @@ -36,7 +36,7 @@ steps: publish_database: title: Publish OctoPetShopDatabase - image: docker.io/bitnami/dotnet:${{DOTNET_VERSION}} + image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - dotnet publish OctopusSamples.OctoPetShop.Database/OctopusSamples.OctoPetShop.Database.csproj --configuration Release --no-restore --output "$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.Database" From 321f801871172e3eb4b8738e6e9aeb040443f212 Mon Sep 17 00:00:00 2001 From: lrochette Date: Thu, 20 Jun 2024 17:09:54 -0700 Subject: [PATCH 03/21] dotnet build Signed-off-by: lrochette --- codefresh/dotnet-core-local.yaml | 38 ++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index af03b16..c9a60c7 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -34,10 +34,34 @@ steps: mkdir "./artifacts/OctopusSamples.OctoPetShop.ShoppingCartService" stage: "build" - publish_database: - title: Publish OctoPetShopDatabase - image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} - working_directory: "${{clone}}" - commands: - - dotnet publish OctopusSamples.OctoPetShop.Database/OctopusSamples.OctoPetShop.Database.csproj --configuration Release --no-restore --output "$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.Database" - stage: "build" + publish_database: + title: Publish OctoPetShopDatabase + image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} + working_directory: "${{clone}}" + commands: + - dotnet publish OctopusSamples.OctoPetShop.Database/OctopusSamples.OctoPetShop.Database.csproj --configuration Release --no-restore --output "$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.Database" + stage: "build" + + publish_web: + title: Publish OctoPetShopWeb + image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} + working_directory: "${{clone}}" + commands: + - dotnet publish OctopusSamples.OctoPetShop.Web/OctopusSamples.OctoPetShop.Web.csproj --configuration Release --no-restore --output "$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.Web" + stage: "build" + + publish_ProductService: + title: Publish OctoPetShopProductService + image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} + working_directory: "${{clone}}" + commands: + - dotnet publish OctopusSamples.OctoPetShop.ProductService/OctopusSamples.OctoPetShop.ProductService.csproj --configuration Release --no-restore --output "$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.ProductService" + stage: "build" + + publish_CartService: + title: Publish OctoPetShopShoppingCartService + image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} + working_directory: "${{clone}}" + commands: + - dotnet publish OctopusSamples.OctoPetShop.ShoppingCartService/OctopusSamples.OctoPetShop.ShoppingCartService.csproj --configuration Release --no-restore --output "$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetshop.ShoppingCartService" + stage: "build" From deb687a38b393492206a4deb13b2d9836423661f Mon Sep 17 00:00:00 2001 From: lrochette Date: Thu, 20 Jun 2024 17:19:18 -0700 Subject: [PATCH 04/21] package DB Signed-off-by: lrochette --- codefresh/dotnet-core-local.yaml | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index c9a60c7..22394ff 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -2,7 +2,7 @@ version: "1.0" stages: - "clone" - "build" - - "test" + - "package" steps: clone: @@ -27,11 +27,15 @@ steps: working_directory: "${{clone}}" # Running command where code cloned commands: - | - mkdir "./artifacts" - mkdir "./artifacts/OctopusSamples.OctoPetShop.Database" - mkdir "./artifacts/OctopusSamples.OctoPetShop.Web" - mkdir "./artifacts/OctopusSamples.OctoPetShop.ProductService" - mkdir "./artifacts/OctopusSamples.OctoPetShop.ShoppingCartService" + if [ ! -d ./artifacts ] ; then + mkdir ./artifacts + mkdir ./artifacts/OctopusSamples.OctoPetShop.Database + mkdir ./artifacts/OctopusSamples.OctoPetShop.Web + mkdir ./artifacts/OctopusSamples.OctoPetShop.ProductService + mkdir ./artifacts/OctopusSamples.OctoPetShop.ShoppingCartService + else + echo "Directory artifacts already exist" + fi stage: "build" publish_database: @@ -65,3 +69,11 @@ steps: commands: - dotnet publish OctopusSamples.OctoPetShop.ShoppingCartService/OctopusSamples.OctoPetShop.ShoppingCartService.csproj --configuration Release --no-restore --output "$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetshop.ShoppingCartService" stage: "build" + + package_db: + title: Package OctoPetShopDatabase + image: octopuslabs/octopus-cli + working_directory: "${{clone}}" + stage: package + commands: + octo pack --id="OctoPetShop.Database" --format="Zip" --version="$PACKAGE_VERSION" --basePath="$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.Database" --outFolder="$GITHUB_WORKSPACE/artifacts" From f8397796de42d9df072771f3223c10cae9df7790 Mon Sep 17 00:00:00 2001 From: lrochette Date: Thu, 20 Jun 2024 17:19:42 -0700 Subject: [PATCH 05/21] package DB Signed-off-by: lrochette --- codefresh/dotnet-core-local.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index 22394ff..d40dbec 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -76,4 +76,4 @@ steps: working_directory: "${{clone}}" stage: package commands: - octo pack --id="OctoPetShop.Database" --format="Zip" --version="$PACKAGE_VERSION" --basePath="$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.Database" --outFolder="$GITHUB_WORKSPACE/artifacts" + - octo pack --id="OctoPetShop.Database" --format="Zip" --version="$PACKAGE_VERSION" --basePath="$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.Database" --outFolder="$GITHUB_WORKSPACE/artifacts" From a40a217a65b96a23d22d61769d790a2c8bf14910 Mon Sep 17 00:00:00 2001 From: lrochette Date: Thu, 20 Jun 2024 17:35:43 -0700 Subject: [PATCH 06/21] package DB Signed-off-by: lrochette --- codefresh/dotnet-core-local.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index d40dbec..7933f50 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -27,6 +27,7 @@ steps: working_directory: "${{clone}}" # Running command where code cloned commands: - | + cf_export PACKAGE_VERSION=$(date +'%Y.%m.%d') if [ ! -d ./artifacts ] ; then mkdir ./artifacts mkdir ./artifacts/OctopusSamples.OctoPetShop.Database @@ -76,4 +77,4 @@ steps: working_directory: "${{clone}}" stage: package commands: - - octo pack --id="OctoPetShop.Database" --format="Zip" --version="$PACKAGE_VERSION" --basePath="$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.Database" --outFolder="$GITHUB_WORKSPACE/artifacts" + - octo pack --id="OctoPetShop.Database" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.Database" --outFolder="./artifacts" From 794d1d9252cb2d28bb82809bd9b8ff8b55f3e096 Mon Sep 17 00:00:00 2001 From: lrochette Date: Thu, 20 Jun 2024 17:41:02 -0700 Subject: [PATCH 07/21] remove reference to GITHUB_WORKSPACE Signed-off-by: lrochette --- codefresh/dotnet-core-local.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index 7933f50..bb78ba7 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -44,7 +44,7 @@ steps: image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - - dotnet publish OctopusSamples.OctoPetShop.Database/OctopusSamples.OctoPetShop.Database.csproj --configuration Release --no-restore --output "$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.Database" + - dotnet publish OctopusSamples.OctoPetShop.Database/OctopusSamples.OctoPetShop.Database.csproj --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.Database" stage: "build" publish_web: @@ -52,7 +52,7 @@ steps: image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - - dotnet publish OctopusSamples.OctoPetShop.Web/OctopusSamples.OctoPetShop.Web.csproj --configuration Release --no-restore --output "$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.Web" + - dotnet publish OctopusSamples.OctoPetShop.Web/OctopusSamples.OctoPetShop.Web.csproj --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.Web" stage: "build" publish_ProductService: @@ -60,7 +60,7 @@ steps: image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - - dotnet publish OctopusSamples.OctoPetShop.ProductService/OctopusSamples.OctoPetShop.ProductService.csproj --configuration Release --no-restore --output "$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetShop.ProductService" + - dotnet publish OctopusSamples.OctoPetShop.ProductService/OctopusSamples.OctoPetShop.ProductService.csproj --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.ProductService" stage: "build" publish_CartService: @@ -68,7 +68,7 @@ steps: image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - - dotnet publish OctopusSamples.OctoPetShop.ShoppingCartService/OctopusSamples.OctoPetShop.ShoppingCartService.csproj --configuration Release --no-restore --output "$GITHUB_WORKSPACE/artifacts/OctopusSamples.OctoPetshop.ShoppingCartService" + - dotnet publish OctopusSamples.OctoPetShop.ShoppingCartService/OctopusSamples.OctoPetShop.ShoppingCartService.csproj --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetshop.ShoppingCartService" stage: "build" package_db: From 78f278c44e643871f398f778ae16e87dd469bf31 Mon Sep 17 00:00:00 2001 From: lrochette Date: Thu, 20 Jun 2024 17:58:31 -0700 Subject: [PATCH 08/21] swithicng to MS image Signed-off-by: lrochette --- codefresh/dotnet-core-local.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index bb78ba7..eb65528 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -15,7 +15,7 @@ steps: install_deps: title: "Install dependencies" - image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} + image: mcr.microsoft.com/dotnet/sdk:6.0 #docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - dotnet restore @@ -41,7 +41,7 @@ steps: publish_database: title: Publish OctoPetShopDatabase - image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} + image: mcr.microsoft.com/dotnet/sdk:6.0 #docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - dotnet publish OctopusSamples.OctoPetShop.Database/OctopusSamples.OctoPetShop.Database.csproj --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.Database" @@ -49,7 +49,7 @@ steps: publish_web: title: Publish OctoPetShopWeb - image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} + image: mcr.microsoft.com/dotnet/sdk:6.0 #docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - dotnet publish OctopusSamples.OctoPetShop.Web/OctopusSamples.OctoPetShop.Web.csproj --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.Web" @@ -57,7 +57,7 @@ steps: publish_ProductService: title: Publish OctoPetShopProductService - image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} + image: mcr.microsoft.com/dotnet/sdk:6.0 #docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - dotnet publish OctopusSamples.OctoPetShop.ProductService/OctopusSamples.OctoPetShop.ProductService.csproj --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.ProductService" @@ -65,7 +65,7 @@ steps: publish_CartService: title: Publish OctoPetShopShoppingCartService - image: docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} + image: mcr.microsoft.com/dotnet/sdk:6.0 #docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - dotnet publish OctopusSamples.OctoPetShop.ShoppingCartService/OctopusSamples.OctoPetShop.ShoppingCartService.csproj --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetshop.ShoppingCartService" From 2f45796a1ef2cca142c579555aef4d55432e1f87 Mon Sep 17 00:00:00 2001 From: lrochette Date: Fri, 21 Jun 2024 16:22:16 -0700 Subject: [PATCH 09/21] adding --package option --- codefresh/dotnet-core-local.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index eb65528..84e79f3 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -18,7 +18,7 @@ steps: image: mcr.microsoft.com/dotnet/sdk:6.0 #docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - - dotnet restore + - dotnet restore --packages ${{CF_VOLUME_PATH}}/nuget/packages stage: "build" create_artifact_folders: @@ -44,7 +44,7 @@ steps: image: mcr.microsoft.com/dotnet/sdk:6.0 #docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - - dotnet publish OctopusSamples.OctoPetShop.Database/OctopusSamples.OctoPetShop.Database.csproj --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.Database" + - dotnet publish OctopusSamples.OctoPetShop.Database/OctopusSamples.OctoPetShop.Database.csproj --packages ${{CF_VOLUME_PATH}}/nuget/packages --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.Database" stage: "build" publish_web: From ba492191e593085893c1e7ffd2fbb85a6cdcda41 Mon Sep 17 00:00:00 2001 From: lrochette Date: Fri, 21 Jun 2024 16:50:54 -0700 Subject: [PATCH 10/21] finish package Add DB push --- codefresh/dotnet-core-local.yaml | 49 ++++++++++++++++++++++++++------ 1 file changed, 41 insertions(+), 8 deletions(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index 84e79f3..ddbcb31 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -1,8 +1,9 @@ version: "1.0" stages: - - "clone" - - "build" - - "package" + - clone + - build + - package + - push steps: clone: @@ -52,7 +53,7 @@ steps: image: mcr.microsoft.com/dotnet/sdk:6.0 #docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - - dotnet publish OctopusSamples.OctoPetShop.Web/OctopusSamples.OctoPetShop.Web.csproj --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.Web" + - dotnet publish OctopusSamples.OctoPetShop.Web/OctopusSamples.OctoPetShop.Web.csproj --packages ${{CF_VOLUME_PATH}}/nuget/packages --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.Web" stage: "build" publish_ProductService: @@ -60,7 +61,7 @@ steps: image: mcr.microsoft.com/dotnet/sdk:6.0 #docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - - dotnet publish OctopusSamples.OctoPetShop.ProductService/OctopusSamples.OctoPetShop.ProductService.csproj --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.ProductService" + - dotnet publish OctopusSamples.OctoPetShop.ProductService/OctopusSamples.OctoPetShop.ProductService.csproj --packages ${{CF_VOLUME_PATH}}/nuget/packages --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.ProductService" stage: "build" publish_CartService: @@ -68,13 +69,45 @@ steps: image: mcr.microsoft.com/dotnet/sdk:6.0 #docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - - dotnet publish OctopusSamples.OctoPetShop.ShoppingCartService/OctopusSamples.OctoPetShop.ShoppingCartService.csproj --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetshop.ShoppingCartService" + - dotnet publish OctopusSamples.OctoPetShop.ShoppingCartService/OctopusSamples.OctoPetShop.ShoppingCartService.csproj --packages ${{CF_VOLUME_PATH}}/nuget/packages --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetshop.ShoppingCartService" stage: "build" package_db: title: Package OctoPetShopDatabase - image: octopuslabs/octopus-cli + image: octopuslabs/octopus-cli:2.2.1 working_directory: "${{clone}}" stage: package commands: - - octo pack --id="OctoPetShop.Database" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.Database" --outFolder="./artifacts" + - octopus pack --id="OctoPetShop.Database" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.Database" --outFolder="./artifacts" + + package_web: + title: Package OctoPetShopWeb + image: octopuslabs/octopus-cli:2.2.1 + working_directory: "${{clone}}" + stage: package + commands: + - octopus pack --id="OctoPetShop.Web" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.Web" --outFolder=".artifacts" + + package_product_service: + title: Package OctoPetShopProductService + image: octopuslabs/octopus-cli:2.2.1 + working_directory: "${{clone}}" + stage: package + commands: + - octopus pack --id="OctoPetShop.ProductService" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.ProductService" --outFolder=".artifacts" + + package_cart_service: + title: Package OctoPetShopShoppingCartService + image: octopuslabs/octopus-cli:2.2.1 + working_directory: "${{clone}}" + stage: package + commands: + - octopus pack --id="OctoPetShop.ShoppingCartService" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.ShoppingCartService" --outFolder=".artifacts" + + push_db: + title: Push OctoPetShop Database + image: octopuslabs/octopus-cli:2.2.1 + working_directory: "${{clone}}" + stage: push + commands: + - octopus push --package="./artifacts/OctoPetShop.Database.$PACKAGE_VERSION.zip" --server="${{OCTOPUS_URL}}" --apiKey="${{OCTOPUS_API_KE}}" --space="Default" From b2ee4ad07b9a3ecfdf9eb6ec29deb8bcb7c18d88 Mon Sep 17 00:00:00 2001 From: lrochette Date: Fri, 21 Jun 2024 16:54:33 -0700 Subject: [PATCH 11/21] pack -> package --- codefresh/dotnet-core-local.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index ddbcb31..aa861a0 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -78,7 +78,7 @@ steps: working_directory: "${{clone}}" stage: package commands: - - octopus pack --id="OctoPetShop.Database" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.Database" --outFolder="./artifacts" + - octopus package --id="OctoPetShop.Database" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.Database" --outFolder="./artifacts" package_web: title: Package OctoPetShopWeb @@ -86,7 +86,7 @@ steps: working_directory: "${{clone}}" stage: package commands: - - octopus pack --id="OctoPetShop.Web" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.Web" --outFolder=".artifacts" + - octopus package --id="OctoPetShop.Web" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.Web" --outFolder=".artifacts" package_product_service: title: Package OctoPetShopProductService @@ -94,7 +94,7 @@ steps: working_directory: "${{clone}}" stage: package commands: - - octopus pack --id="OctoPetShop.ProductService" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.ProductService" --outFolder=".artifacts" + - octopus package --id="OctoPetShop.ProductService" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.ProductService" --outFolder=".artifacts" package_cart_service: title: Package OctoPetShopShoppingCartService @@ -102,7 +102,7 @@ steps: working_directory: "${{clone}}" stage: package commands: - - octopus pack --id="OctoPetShop.ShoppingCartService" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.ShoppingCartService" --outFolder=".artifacts" + - octopus package --id="OctoPetShop.ShoppingCartService" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.ShoppingCartService" --outFolder=".artifacts" push_db: title: Push OctoPetShop Database From c9a16f07b91ced9c27fb1b6adb34b87255df0cce Mon Sep 17 00:00:00 2001 From: lrochette Date: Mon, 24 Jun 2024 12:04:14 -0700 Subject: [PATCH 12/21] fix options and commands --- codefresh/dotnet-core-local.yaml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index aa861a0..3c0efcc 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -69,7 +69,7 @@ steps: image: mcr.microsoft.com/dotnet/sdk:6.0 #docker.io/bitnami/dotnet-sdk:${{DOTNET_VERSION}} working_directory: "${{clone}}" commands: - - dotnet publish OctopusSamples.OctoPetShop.ShoppingCartService/OctopusSamples.OctoPetShop.ShoppingCartService.csproj --packages ${{CF_VOLUME_PATH}}/nuget/packages --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetshop.ShoppingCartService" + - dotnet publish OctopusSamples.OctoPetShop.ShoppingCartService/OctopusSamples.OctoPetShop.ShoppingCartService.csproj --packages ${{CF_VOLUME_PATH}}/nuget/packages --configuration Release --no-restore --output "./artifacts/OctopusSamples.OctoPetShop.ShoppingCartService" stage: "build" package_db: @@ -78,7 +78,7 @@ steps: working_directory: "${{clone}}" stage: package commands: - - octopus package --id="OctoPetShop.Database" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.Database" --outFolder="./artifacts" + - octopus package zip create --id="OctoPetShop.Database" --version="$PACKAGE_VERSION" --base-path="./artifacts/OctopusSamples.OctoPetShop.Database" --out-folder="./artifacts" package_web: title: Package OctoPetShopWeb @@ -86,7 +86,7 @@ steps: working_directory: "${{clone}}" stage: package commands: - - octopus package --id="OctoPetShop.Web" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.Web" --outFolder=".artifacts" + - octopus package zip create --id="OctoPetShop.Web" --version="$PACKAGE_VERSION" --base-path="./artifacts/OctopusSamples.OctoPetShop.Web" --out-folder=".artifacts" package_product_service: title: Package OctoPetShopProductService @@ -94,7 +94,7 @@ steps: working_directory: "${{clone}}" stage: package commands: - - octopus package --id="OctoPetShop.ProductService" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.ProductService" --outFolder=".artifacts" + - octopus package zip create --id="OctoPetShop.ProductService" --version="$PACKAGE_VERSION" --base-path="./artifacts/OctopusSamples.OctoPetShop.ProductService" --out-folder=".artifacts" package_cart_service: title: Package OctoPetShopShoppingCartService @@ -102,7 +102,7 @@ steps: working_directory: "${{clone}}" stage: package commands: - - octopus package --id="OctoPetShop.ShoppingCartService" --format="Zip" --version="$PACKAGE_VERSION" --basePath="./artifacts/OctopusSamples.OctoPetShop.ShoppingCartService" --outFolder=".artifacts" + - octopus package zip create --id="OctoPetShop.ShoppingCartService" --version="$PACKAGE_VERSION" --base-path="./artifacts/OctopusSamples.OctoPetShop.ShoppingCartService" --out-folder=".artifacts" push_db: title: Push OctoPetShop Database From fcea7ba24b874617f9e060eb22a47e851d25726e Mon Sep 17 00:00:00 2001 From: lrochette Date: Mon, 24 Jun 2024 13:29:49 -0700 Subject: [PATCH 13/21] fix path --- codefresh/dotnet-core-local.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index 3c0efcc..ef9f9cb 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -86,7 +86,7 @@ steps: working_directory: "${{clone}}" stage: package commands: - - octopus package zip create --id="OctoPetShop.Web" --version="$PACKAGE_VERSION" --base-path="./artifacts/OctopusSamples.OctoPetShop.Web" --out-folder=".artifacts" + - octopus package zip create --id="OctoPetShop.Web" --version="$PACKAGE_VERSION" --base-path="./artifacts/OctopusSamples.OctoPetShop.Web" --out-folder="./artifacts" package_product_service: title: Package OctoPetShopProductService @@ -94,7 +94,7 @@ steps: working_directory: "${{clone}}" stage: package commands: - - octopus package zip create --id="OctoPetShop.ProductService" --version="$PACKAGE_VERSION" --base-path="./artifacts/OctopusSamples.OctoPetShop.ProductService" --out-folder=".artifacts" + - octopus package zip create --id="OctoPetShop.ProductService" --version="$PACKAGE_VERSION" --base-path="./artifacts/OctopusSamples.OctoPetShop.ProductService" --out-folder="./artifacts" package_cart_service: title: Package OctoPetShopShoppingCartService @@ -102,7 +102,7 @@ steps: working_directory: "${{clone}}" stage: package commands: - - octopus package zip create --id="OctoPetShop.ShoppingCartService" --version="$PACKAGE_VERSION" --base-path="./artifacts/OctopusSamples.OctoPetShop.ShoppingCartService" --out-folder=".artifacts" + - octopus package zip create --id="OctoPetShop.ShoppingCartService" --version="$PACKAGE_VERSION" --base-path="./artifacts/OctopusSamples.OctoPetShop.ShoppingCartService" --out-folder="./artifacts" push_db: title: Push OctoPetShop Database From 3ec2dc9177f2ad971bbf07b886732f6f4039a9c4 Mon Sep 17 00:00:00 2001 From: lrochette Date: Mon, 24 Jun 2024 13:36:49 -0700 Subject: [PATCH 14/21] fix upload command --- codefresh/dotnet-core-local.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index ef9f9cb..4ac6747 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -110,4 +110,4 @@ steps: working_directory: "${{clone}}" stage: push commands: - - octopus push --package="./artifacts/OctoPetShop.Database.$PACKAGE_VERSION.zip" --server="${{OCTOPUS_URL}}" --apiKey="${{OCTOPUS_API_KE}}" --space="Default" + - octopus package upload --package="./artifacts/OctoPetShop.Database.$PACKAGE_VERSION.zip" --space="Default" From dd5f047efbcc4d96d8a37f1dae61102866eb2c35 Mon Sep 17 00:00:00 2001 From: lrochette Date: Mon, 24 Jun 2024 13:44:42 -0700 Subject: [PATCH 15/21] Adding missing push steps --- codefresh/dotnet-core-local.yaml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index 4ac6747..6d2922d 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -111,3 +111,27 @@ steps: stage: push commands: - octopus package upload --package="./artifacts/OctoPetShop.Database.$PACKAGE_VERSION.zip" --space="Default" + + push_web: + title: Push OctoPetShop Web + image: octopuslabs/octopus-cli:2.2.1 + working_directory: "${{clone}}" + stage: push + commands: + - octopus package upload --package="./artifacts/OctoPetShop.Web.$PACKAGE_VERSION.zip" --space="Default" + + push_product_service: + title: Push OctoPetShop Product Service + image: octopuslabs/octopus-cli:2.2.1 + working_directory: "${{clone}}" + stage: push + commands: + - octopus package upload --package="./artifacts/OctoPetShop.ProductService.$PACKAGE_VERSION.zip" --space="Default" + + push_cart_service: + title: Push OctoPetShop Cart Service + image: octopuslabs/octopus-cli:2.2.1 + working_directory: "${{clone}}" + stage: push + commands: + - octopus package upload --package="./artifacts/OctoPetShop.ShoppingCartService.$PACKAGE_VERSION.zip" --space="Default" From f12c92c879148b4c3cf7afb204e21a6a2e411aa8 Mon Sep 17 00:00:00 2001 From: lrochette Date: Mon, 24 Jun 2024 14:09:26 -0700 Subject: [PATCH 16/21] overwrite mode Adding auto-increemnted build number --- codefresh/dotnet-core-local.yaml | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index 6d2922d..e37b30f 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -1,11 +1,21 @@ version: "1.0" stages: + - init - clone - build - package - push steps: + + increment: + image: codefresh/cli + commands: + - | + BUILD_NUMBER=$(codefresh get annotation pipeline ${{CF_PIPELINE_NAME}} -o json | jq -r '.variables[] | select(.key=="BUILD_NUMBER") | .value') + cf_export BUILD_NUMBER=$BUILD_NUMBER + codefresh create annotation pipeline ${{CF_PIPELINE_NAME}}D BUILD_NUMBER=$(($BUILD_NUMBER+1) + clone: title: "Cloning repository" type: "git-clone" @@ -28,7 +38,7 @@ steps: working_directory: "${{clone}}" # Running command where code cloned commands: - | - cf_export PACKAGE_VERSION=$(date +'%Y.%m.%d') + cf_export PACKAGE_VERSION=$(date +'%Y.%m.%d')-${{BUILD_NUMBER}} if [ ! -d ./artifacts ] ; then mkdir ./artifacts mkdir ./artifacts/OctopusSamples.OctoPetShop.Database @@ -110,7 +120,7 @@ steps: working_directory: "${{clone}}" stage: push commands: - - octopus package upload --package="./artifacts/OctoPetShop.Database.$PACKAGE_VERSION.zip" --space="Default" + - octopus package upload --overwrite-mode overwrite --package="./artifacts/OctoPetShop.Database.$PACKAGE_VERSION.zip" --space="Default" push_web: title: Push OctoPetShop Web @@ -118,7 +128,7 @@ steps: working_directory: "${{clone}}" stage: push commands: - - octopus package upload --package="./artifacts/OctoPetShop.Web.$PACKAGE_VERSION.zip" --space="Default" + - octopus package upload --overwrite-mode overwrite --package="./artifacts/OctoPetShop.Web.$PACKAGE_VERSION.zip" --space="Default" push_product_service: title: Push OctoPetShop Product Service @@ -126,7 +136,7 @@ steps: working_directory: "${{clone}}" stage: push commands: - - octopus package upload --package="./artifacts/OctoPetShop.ProductService.$PACKAGE_VERSION.zip" --space="Default" + - octopus package upload --overwrite-mode overwrite --package="./artifacts/OctoPetShop.ProductService.$PACKAGE_VERSION.zip" --space="Default" push_cart_service: title: Push OctoPetShop Cart Service @@ -134,4 +144,4 @@ steps: working_directory: "${{clone}}" stage: push commands: - - octopus package upload --package="./artifacts/OctoPetShop.ShoppingCartService.$PACKAGE_VERSION.zip" --space="Default" + - octopus package upload --overwrite-mode overwrite --package="./artifacts/OctoPetShop.ShoppingCartService.$PACKAGE_VERSION.zip" --space="Default" From a1f053284a98b0cb63bcef14ecb93bf90808e22f Mon Sep 17 00:00:00 2001 From: lrochette Date: Mon, 24 Jun 2024 14:21:30 -0700 Subject: [PATCH 17/21] Fix annotation logic --- codefresh/dotnet-core-local.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index e37b30f..3a1b1d4 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -9,10 +9,11 @@ stages: steps: increment: + title: Increment Build Number image: codefresh/cli commands: - | - BUILD_NUMBER=$(codefresh get annotation pipeline ${{CF_PIPELINE_NAME}} -o json | jq -r '.variables[] | select(.key=="BUILD_NUMBER") | .value') + BUILD_NUMBER=$(codefresh get annotation pipeline ${{CF_PIPELINE_NAME}} BUILD_NUMBER -o json | jq -r '.value' ) cf_export BUILD_NUMBER=$BUILD_NUMBER codefresh create annotation pipeline ${{CF_PIPELINE_NAME}}D BUILD_NUMBER=$(($BUILD_NUMBER+1) From 787d7f008db194385fe9080723327be1dbe966ce Mon Sep 17 00:00:00 2001 From: lrochette Date: Mon, 24 Jun 2024 14:25:44 -0700 Subject: [PATCH 18/21] Missing parenthesis --- codefresh/dotnet-core-local.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index 3a1b1d4..7a8e6d1 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -15,7 +15,7 @@ steps: - | BUILD_NUMBER=$(codefresh get annotation pipeline ${{CF_PIPELINE_NAME}} BUILD_NUMBER -o json | jq -r '.value' ) cf_export BUILD_NUMBER=$BUILD_NUMBER - codefresh create annotation pipeline ${{CF_PIPELINE_NAME}}D BUILD_NUMBER=$(($BUILD_NUMBER+1) + codefresh create annotation pipeline ${{CF_PIPELINE_NAME}}D BUILD_NUMBER=$(($BUILD_NUMBER+1)) clone: title: "Cloning repository" From 97849b5f43a2e46e41eff0154694e77baca14ec4 Mon Sep 17 00:00:00 2001 From: lrochette Date: Mon, 24 Jun 2024 14:29:59 -0700 Subject: [PATCH 19/21] typo --- codefresh/dotnet-core-local.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/codefresh/dotnet-core-local.yaml b/codefresh/dotnet-core-local.yaml index 7a8e6d1..80a1e35 100644 --- a/codefresh/dotnet-core-local.yaml +++ b/codefresh/dotnet-core-local.yaml @@ -15,7 +15,7 @@ steps: - | BUILD_NUMBER=$(codefresh get annotation pipeline ${{CF_PIPELINE_NAME}} BUILD_NUMBER -o json | jq -r '.value' ) cf_export BUILD_NUMBER=$BUILD_NUMBER - codefresh create annotation pipeline ${{CF_PIPELINE_NAME}}D BUILD_NUMBER=$(($BUILD_NUMBER+1)) + codefresh create annotation pipeline ${{CF_PIPELINE_NAME}} BUILD_NUMBER=$(($BUILD_NUMBER+1)) clone: title: "Cloning repository" From 040315cb966eb67cc9cafd1827b31f15684812a4 Mon Sep 17 00:00:00 2001 From: lrochette Date: Mon, 24 Jun 2024 14:44:28 -0700 Subject: [PATCH 20/21] Adding README --- codefresh/README.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 codefresh/README.md diff --git a/codefresh/README.md b/codefresh/README.md new file mode 100644 index 0000000..ca6e36f --- /dev/null +++ b/codefresh/README.md @@ -0,0 +1,18 @@ +# Codefresh pipeline + +This folder contains Codefresh pipelines to mirror the ones for GitHub. + +## [dotnet-core-local.yaml](dotnet-core-local.yaml) +This is the main pipeline that builds the 4 different dotnet microservices: + +* OctoPetShop Database +* OctoPetShop Web +* OctoPetShop Product Service +* OctoPetShop Cart Service + +It requires 2 variables to be setup: +* OCTOPUS_URL: The URL of your Octopus Server +* OCTOPUS_API_KEY: An API key to authenticate to the Octopus Server with + +It also requires an annotation to be added to the pipeline: +* BUILD_NUMBER: used to create an auto-incremented build number used to create the package version From f148c931269f9293029f17d7ba52e017243f793b Mon Sep 17 00:00:00 2001 From: lrochette Date: Mon, 24 Jun 2024 14:47:12 -0700 Subject: [PATCH 21/21] Trigger info --- codefresh/README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/codefresh/README.md b/codefresh/README.md index ca6e36f..7474b38 100644 --- a/codefresh/README.md +++ b/codefresh/README.md @@ -10,9 +10,12 @@ This is the main pipeline that builds the 4 different dotnet microservices: * OctoPetShop Product Service * OctoPetShop Cart Service +### Pre-reqs It requires 2 variables to be setup: * OCTOPUS_URL: The URL of your Octopus Server * OCTOPUS_API_KEY: An API key to authenticate to the Octopus Server with It also requires an annotation to be added to the pipeline: * BUILD_NUMBER: used to create an auto-incremented build number used to create the package version + +Optionally, you can add a it trigger