Skip to content

Instantly share code, notes, and snippets.

@dmc5179
Created August 4, 2021 10:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dmc5179/189d601c3306ac017cfc2a6b895c3609 to your computer and use it in GitHub Desktop.
Save dmc5179/189d601c3306ac017cfc2a6b895c3609 to your computer and use it in GitHub Desktop.
OpenShift 4 Build Config using the Source Strategy
---
kind: ImageStream
apiVersion: image.openshift.io/v1
metadata:
name: myapp
namespace: mynamespace
spec: {}
---
apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
name: myapp
namespace: mynamespace
spec:
output:
to:
kind: "ImageStreamTag"
name: "myapp:latest"
failedBuildsHistoryLimit: 5
successfulBuildsHistoryLimit: 5
nodeSelector: null
postCommit: {}
resources: {}
runPolicy: Serial
source:
git:
ref: danclark
uri: https://bitbucket.something.net/scm/something/myapp.git
sourceSecret:
name: danclark-git
type: Git
env:
- name: NPM_TOKEN
value: XXXX
- name: NPM_ENV
value: "production"
strategy:
sourceStrategy:
env:
- name: NPM_TOKEN
value: XXXX
- name: NPM_ENV
value: "production"
from:
kind: ImageStreamTag
name: nodejs:10-ubi7
namespace: openshift
type: Source
triggers:
- imageChange:
type: ImageChange
- type: ConfigChange
---
kind: DeploymentConfig
apiVersion: apps.openshift.io/v1
metadata:
name: myapp
namespace: mynamespace
spec:
strategy:
type: Rolling
triggers:
- type: ConfigChange
- type: ImageChange
imageChangeParams:
automatic: true
containerNames:
- myapp
from:
kind: ImageStreamTag
namespace: mynamespace
name: 'myapp:latest'
replicas: 1
selector:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:latest
command:
- npm
args:
- start
ports:
- containerPort: 3000
protocol: TCP
env:
- name: CI
value: "true"
imagePullPolicy: Always
---
kind: Service
apiVersion: v1
metadata:
name: myapp
namespace: mynamespace
spec:
ports:
- protocol: TCP
port: 3000
targetPort: 3000
selector:
app: myapp
---
kind: Route
apiVersion: route.openshift.io/v1
metadata:
name: myapp
namespace: mynamespace
spec:
to:
kind: Service
name: myapp
weight: 100
port:
targetPort: 3000
tls:
termination: edge
insecureEdgeTerminationPolicy: None
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment