Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ gitOpsBuildLib = library(identifier: "gitops-build-lib@<gitOpsBuildLibVersion>",

If you can access the internet or just dont want to mirror the repo you can just import it directly from github using the [pipeline-github-lib plugin](https://plugins.jenkins.io/pipeline-github-lib/) plugin.
```groovy
@Library('github.com/cloudogu/[email protected].7')
@Library('github.com/cloudogu/[email protected].8')
import com.cloudogu.gitops.gitopsbuildlib.*
```

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,11 @@ class DeploymentTest {

Deployment deploymentUnderTest = new DeploymentUnderTest(scriptMock.mock, [
application: 'app',
stages: [
staging: [
namespace: 'fluxv1-staging'
]
],
deployments: [
sourcePath: 'k8s'
],
Expand All @@ -38,8 +43,15 @@ class DeploymentTest {
image: 'img'
]
]
],
fileConfigmaps: [
[
name : "index",
sourceFilePath : "../index.html",
stage: ["staging"]
]
]
])
] as Map)

@Test
void 'creating folders for plain deployment'() {
Expand All @@ -59,6 +71,34 @@ class DeploymentTest {
assertThat(scriptMock.actualEchoArgs[2]).isEqualTo('Executing validator helmKubeval')
}

@Test
void 'create configmaps from files'() {

deploymentUnderTest.createFileConfigmaps('staging')

assertThat(scriptMock.actualShArgs[0]).isEqualTo('[returnStdout:true, script:KUBECONFIG=pwd/.kube/config kubectl create configmap index --from-file=index.html=workspace/k8s/../index.html --dry-run=client -o yaml -n fluxv1-staging]')

assertThat(scriptMock.actualWriteFileArgs[0]).isEqualTo('[file:pwd/.kube/config, text:apiVersion: v1\n' +
'clusters:\n' +
'- cluster:\n' +
' certificate-authority-data: DATA+OMITTED\n' +
' server: https://localhost\n' +
' name: self-hosted-cluster\n' +
'contexts:\n' +
'- context:\n' +
' cluster: self-hosted-cluster\n' +
' user: svcs-acct-dply\n' +
' name: svcs-acct-context\n' +
'current-context: svcs-acct-context\n' +
'kind: Config\n' +
'preferences: {}\n' +
'users:\n' +
'- name: svcs-acct-dply\n' +
' user:\n' +
' token: DATA+OMITTED]')
assertThat(scriptMock.actualWriteFileArgs[1]).contains('[file:staging/app/generatedResources/index.yaml')
}

class DeploymentUnderTest extends Deployment {

DeploymentUnderTest(Object script, Object gitopsConfig) {
Expand Down
40 changes: 0 additions & 40 deletions test/com/cloudogu/gitopsbuildlib/deployment/HelmTest.groovy
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@ class HelmTest {
assertThat(scriptMock.actualShArgs[1]).isEqualTo('[returnStdout:true, script:helm values workspace/chart/chartPath -f workspace/k8s/values-staging.yaml -f workspace/k8s/values-shared.yaml ]')
assertThat(scriptMock.actualShArgs[2]).isEqualTo('rm -rf workspace/chart || true')
assertThat(scriptMock.actualShArgs[3]).isEqualTo('rm staging/testapp/mergedValues.yaml')
assertThat(scriptMock.actualShArgs[4]).isEqualTo('[returnStdout:true, script:KUBECONFIG=pwd/.kube/config kubectl create configmap index --from-file=index.html=workspace/k8s/../index.html --dry-run=client -o yaml -n fluxv1-staging]')
assertThat(scriptMock.actualWriteFileArgs[0]).isEqualTo('[file:staging/testapp/mergedValues.yaml, ' +
'text:[git clone repoUrl workspace/chart || true, ' +
'[returnStdout:true, ' +
Expand Down Expand Up @@ -102,25 +101,6 @@ class HelmTest {
' be:\n' +
' changed: \'oldValue\'\n' +
']')
assertThat(scriptMock.actualWriteFileArgs[2]).isEqualTo('[file:pwd/.kube/config, text:apiVersion: v1\n' +
'clusters:\n' +
'- cluster:\n' +
' certificate-authority-data: DATA+OMITTED\n' +
' server: https://localhost\n' +
' name: self-hosted-cluster\n' +
'contexts:\n' +
'- context:\n' +
' cluster: self-hosted-cluster\n' +
' user: svcs-acct-dply\n' +
' name: svcs-acct-context\n' +
'current-context: svcs-acct-context\n' +
'kind: Config\n' +
'preferences: {}\n' +
'users:\n' +
'- name: svcs-acct-dply\n' +
' user:\n' +
' token: DATA+OMITTED]')
assertThat(scriptMock.actualWriteFileArgs[3]).contains('[file:staging/testapp/generatedResources/index.yaml')
}

@Test
Expand All @@ -134,7 +114,6 @@ class HelmTest {
assertThat(scriptMock.actualShArgs[3]).isEqualTo('[returnStdout:true, script:helm values workspace/chart/chartName -f workspace/k8s/values-staging.yaml -f workspace/k8s/values-shared.yaml ]')
assertThat(scriptMock.actualShArgs[4]).isEqualTo('rm -rf workspace/chart || true')
assertThat(scriptMock.actualShArgs[5]).isEqualTo('rm staging/testapp/mergedValues.yaml')
assertThat(scriptMock.actualShArgs[6]).isEqualTo('[returnStdout:true, script:KUBECONFIG=pwd/.kube/config kubectl create configmap index --from-file=index.html=workspace/k8s/../index.html --dry-run=client -o yaml -n fluxv1-staging]')
assertThat(scriptMock.actualWriteFileArgs[0]).isEqualTo('[file:staging/testapp/mergedValues.yaml, ' +
'text:[helm repo add chartRepo repoUrl, helm repo update, ' +
'helm pull chartRepo/chartName --version=1.0 --untar --untardir=workspace/chart, ' +
Expand Down Expand Up @@ -166,24 +145,5 @@ class HelmTest {
' be:\n' +
' changed: \'oldValue\'\n' +
']')
assertThat(scriptMock.actualWriteFileArgs[2]).isEqualTo('[file:pwd/.kube/config, text:apiVersion: v1\n' +
'clusters:\n' +
'- cluster:\n' +
' certificate-authority-data: DATA+OMITTED\n' +
' server: https://localhost\n' +
' name: self-hosted-cluster\n' +
'contexts:\n' +
'- context:\n' +
' cluster: self-hosted-cluster\n' +
' user: svcs-acct-dply\n' +
' name: svcs-acct-context\n' +
'current-context: svcs-acct-context\n' +
'kind: Config\n' +
'preferences: {}\n' +
'users:\n' +
'- name: svcs-acct-dply\n' +
' user:\n' +
' token: DATA+OMITTED]')
assertThat(scriptMock.actualWriteFileArgs[3]).contains('[file:staging/testapp/generatedResources/index.yaml')
}
}