私はタグで新しいイメージを構築するためにdockerhub設定しているlatest
と、dev-<version>
新しいタグとして<version>
のGitHubに登場しています。これGetting Started
で、GKEクラスターを使用してTektonのチュートリアルに合格しましたが、レジストリで利用可能になったときに新しいイメージを自動的にデプロイするようにTektonを構成する方法がわかりません。
これが私のk8s設定です:
apiVersion: v1
kind: List
items:
- apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: my-app-ingress
spec:
rules:
- http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: my-app-service
port:
number: 80
- apiVersion: v1
kind: Service
metadata:
name: my-app-service
spec:
ports:
- port: 80
targetPort: 8000
selector:
app: my-app
type: LoadBalancer
- apiVersion: apps/v1
kind: Deployment
metadata:
name: my-app-local-deployment
labels:
app: my-app
type: web
spec:
replicas: 2
minReadySeconds: 15
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 1
selector:
matchLabels:
app: my-app
template:
metadata:
labels:
app: my-app
spec:
imagePullSecrets:
- name: regcred
containers:
- name: backend
image: zuber93/my-app:dev-latest
imagePullPolicy: IfNotPresent
envFrom:
- secretRef:
name: my-app-local-secret
ports:
- containerPort: 8000
readinessProbe:
httpGet:
path: /flvby
port: 8000
initialDelaySeconds: 10
periodSeconds: 5
- name: celery
image: zuber93/my-app:dev-latest
imagePullPolicy: IfNotPresent
workingDir: /code
command: [ "/code/run/celery.sh" ]
envFrom:
- secretRef:
name: my-app-local-secret
- name: redis
image: redis:latest
imagePullPolicy: IfNotPresent
簡単な答えは次のとおりです。トリガーを使用して、dockerhub(https://docs.docker.com/docker-hub/webhooks/)からtektonにWebhookをセットアップします。
または(セキュリティと、クラスターがwwwから到達可能かどうかによって異なります)
dockerhubをポーリングし、新しい画像が検出されたらtektonをトリガーします。(これは、k8sでさまざまな方法、単純なインスタントサービス、スケジュールされたcronジョブなどで実行できます)
したがって、プッシュまたはプルを選択します。;)
「gitリポジトリから直接トリガーしてみませんか?」と質問します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加