Créer un pipeline de build Azure adapté à vos besoins de déploiements
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.
Adapter les paramètres YAML à votre environnement
Certains paramètres et identifiants utilisés proviennent des fichiers sécurisés stocké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é.
- Téléchargez et extrayez le fichier azure-pipeline.zip.Note InformationsAvertissement : Ce fichier est un exemple et doit impérativement être adapté à votre environnement avant utilisation. Ils vous donnent des commandes et des options Maven prédéfinies que vous pouvez personnaliser pour répondre à vos besoins particuliers de déploiement. Par exemple, le fichier de script azure-pipeline.yml vous permet de construire et publier des artefacts dans Talend 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.
- 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.).Note InformationsConseil : Recherchez les références XXX dans le fichier azure-pipeline.yml fourni par Talend en exemple et remplacez-les par les valeurs adéquates pour votre environnement.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'
Note InformationsAvertissement : 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 Talend. 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 de commande permettant 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) :
-DaltDeploymentRepository=releases::default::http://nexus:8081/repository/maven-releases/
Si vous déployez des Jobs utilisant des composants personnalisés, utilisez les options -Dcomponents.* comme décrit dans Options du build Maven Talend personnalisé.
- Modifiez l'espace de travail de Talend Cloud et l'environnement définis dans le groupe de variables talend_ci_config.
Exemple de commande permettant 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).
-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
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).Note InformationsConseil : 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 de commande permettant 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.
options: '--settings $(settings_xml.secureFilePath) -Pnexus -pl $(jobs_to_build) -am' goals: 'clean deploy'
Exemple de commande permettant de prendre le code compilé, de le packager en tant qu'image Docker et de le déployer dans le registre de votre choix :
options: '--settings $(settings_xml.secureFilePath) -X -Pdocker -pl $(jobs_to_build) -am -Dtalend.docker.name=$(docker_image_name)' goals: 'deploy'
Créer et configurer votre pipeline
La première étape pour créer votre pipeline de build est d'importer votre référentiel Git là où vos artefacts source sont stockés.
- Allez à la page Pipelines.
- Cliquez sur Create pipeline (Créer un pipeline).
- Dans les étapes Connect et Select, sélectionnez votre type de référentiel source et le référentiel que vous souhaitez importer, puis donnez à Azure l'autorisation d'y accéder.
- Dans l'étape Configure, sélectionnez Starter pipeline afin de configurer les étapes de votre pipeline.
- Dans l'étape Review (Vérification), collez le contenu du fichier azure-pipeline.yml précédemment adapté à vos besoins en déploiement.