Configurez le script de pipeline fourni par Talend afin de générer des éléments de projet en fonction de la phase Maven que vous visez et du référentiel dans lequel vous souhaitez déployer les artefacts.
Remarque : Le fichier de script azure-pipeline.yml fourni en exemple vous permet de construire et publier des artefacts dans Talend Cloud Management Console. Si vous souhaitez publier des artefacts dans un référentiel d'artefacts ou dans Docker, décommentez les paramètres correspondant dans le script.
Certains paramètres et identifiants proviennent des fichiers et variables sécurisé(e)s que vous avez stocké(e)s dans Azure DevOps. Pour plus d'informations concernant les paramètres Maven Talend que vous pouvez utiliser pour configurer votre pipeline, consultez Options du build Maven Talend personnalisé.
Procédure
-
Définissez vos propres valeurs pour les variables d'environnement au début du script (nom de projet, nom/version/type du Job, URL du référentiel Git, etc.).
Conseil : Recherchez les
XXX dans le
script azure-pipeline.yml fourni par
Talend en exemple et remplacez-les par les valeurs adéquates pour votre environnement.
Exemple
Exemple d'un projet nommé
CICD, d'un Job nommé
my_complex_job avec la version
0.1 et d'une image Docker nommée
cicd4talend :
variables:
- group: Talend Variables
- name: project_name
value: 'CICD'
- name: jobs_to_build
value: 'process/my_complex_job_1.0'
- name: docker_image_name
value: 'cicd4talend'
Avertissement : Syntaxe à respecter :
- La valeur de la variable project_name doit être en majuscules, sinon elle risque de causer un échec du build. Si vous avez utilisé des caractères spéciaux dans le nom du projet ou que vous avez le moindre doute sur sa syntaxe finale, vous pouvez la vérifier dans le fichier parent pom.xml de votre projet (variable talend.project.name dans <project>/poms/pom.xml).
- La valeur de la variable jobs_to_build doit être en minuscules même si le nom original de votre Job/Route/Service contient des majuscules, car tous les artefacts sont en minuscules dans les fichiers .pom requis pour lancer le build.
- N'ajoutez pas manuellement le suffixe "-SNAPSHOT" à la valeur de la version. Les snapshots et les releases sont découplés de la version elle-même et doivent être gérés uniquement via les préférences du Studio, consultez Modifier la version de déploiement de chaque artefact en une fois.
-
Modifiez l'URL du référentiel d'artefacts renseignée dans la variable artifact_url précédemment créée.
Exemple
-DaltDeploymentRepository=releases::default::http://nexus:8081/repository/maven-releases/
vous permet de déployer des artefacts dans un référentiel Nexus rmaven-releases (afin d'obtenir des artefacts de release stables dans un environnement de production).
-
Modifiez l'espace de travail de Talend Cloud et l'environnement définis dans le groupe de variables talend_ci_config.
Exemple
-Dservice.url=$(talend_cloud_url)
-Dcloud.token=$(talend_cloud_token)
-Dcloud.publisher.screenshot=true
-context=Prod
-Dcloud.publisher.environment=prod
-Dcloud.publisher.workspace=ci-workspace
vous permet de déployer des artefacts (avec les captures d'écran) dans un compte Talend Cloud dans un espace de travail nommé ci-workspace dans un environnement prod, tout en changeant l'environnement de contexte en Prod (à l'aide de --context). Cet environnement doit avoir été précédemment défini dans Studio Talend, cependant, si vous n'avez pas défini de paramètre de contexte, vous pouvez utiliser --context_param pour les définir lors du build.
-
Afin de définir la phase Maven que vous visez : Assurez-vous que les profils de phase et de build définis aux lignes options et goals sont ceux que vous souhaitez effectuer. Le goal par défaut défini dans le script par défaut fourni par Talend est deploy.
Pour plus d'informations concernant les phases Maven, consultez
la documentation Maven (en anglais).
Conseil : Tous les profils de build (-Pdocker, -Pnexus, etc.) sont listés dans le fichier pom.xml parent de votre projet. Certains paramètres par défaut, comme le nom de l'image Docker ou le nom Open JDK, peuvent également être écrasés dans ce fichier.
Exemple
options: '--settings $(settings_xml.secureFilePath) -Pnexus -pl $(jobs_to_build) -am'
goals: 'clean deploy'
vous permet de prendre l'artefact packagé en tant que fichiers .jar ou .zip et de le déployer dans le référentiel Nexus de votre choix.
Exemple
options: '--settings $(settings_xml.secureFilePath) -X -Pdocker -pl $(jobs_to_build) -am -Dtalend.docker.name=$(docker_image_name)'
goals: 'deploy'
vous permet de prendre le code compilé, de le packager en tant qu'image Docker et de le déployer dans le référentiel de votre choix.
-
Sauvegardez vos modifications. Cela lancera automatiquement l'exécution de votre pipeline de build.