
Ich muss im Rahmen des automatisierten Bereitstellungsprozesses mit „Google Cloud Build“ Dateien aus einem Git-Repository auf eine persistente Festplatte in der Google Cloud kopieren.
Wie kann ich persistente Volume-Ansprüche verwenden oder NFS-Freigaben im Cloud-Build-YAML mounten?
Ich habe es bereits geschafft, Dateien von /workspace in den Pod zu kopieren, auf dem der NFS-Server läuft, indem ich „kubectl cp“ verwendet habe. Allerdings ist cp von kubectl begrenzt, unterstützt keinen Verzeichnisausschluss und verfügt nicht über die Synchronisierungsfunktionen wie rsync.
Zusammenfassend: Wie kann ich mit Google Cloud Build eine NFS-Freigabe mounten?
Antwort1
Wenn Sie nur Dateien aus dem Git-Repo verwalten möchten, können Sie Ihre Artefakte inCloud-SpeicherDies ist ein Beispiel für die Speicherung mehrerer Artefakte in Cloud Storage:
steps:
- name: 'gcr.io/cloud-builders/javac'
args: ['HelloWorld.java']
artifacts:
objects:
location: 'gs://[STORAGE_LOCATION]/'
paths: ['HelloWorld.java', 'HelloWorld.class', 'cloudbuild.yaml']
Außerdem können SiePlatzhalterbeim Senden der Dateien an Cloud Storage. Dies hilft Ihnen bei der Anforderung des Verzeichnisausschlusses. Später können Sie die Dateien mit einem derClient-Bibliothekenvom Kubernetes-Dienst.