Le build avviate attraverso una pipeline CI/CD generano istantanee di artefatti distribuibili che devono essere etichettati in modo univoco e archiviati in un repository di build, da cui possono essere distribuiti automaticamente e in modo sicuro in vari ambienti di destinazione. Business Automation Workflow si integra con la build artifactory di JFrog che archivia e gestisce artefatti di build, binari, pacchetti e file, che possono essere utilizzati per attivare una pipeline di continuous integration e continuous delivery (CI/CD) automatizzata e sicura ospitata nello strumento CI/CD preferito.
Quando viene creata una nuova istantanea del progetto del flusso di lavoro, il pacchetto di installazione dell'istantanea, insieme ai toolkit dipendenti, viene spinto in una cartella del repository binario preconfigurato di JFrog. Il pacchetto è memorizzato in formato .zip e può essere usato per attivare la pipeline CI/CD. Per spingere il pacchetto snapshot nel repository binario di JFrog, si può usare uno dei seguenti metodi:
- L'azione del menu istantaneo Push to binary repository.
- Una selezione a levetta nella finestra di dialogo di creazione dell'istantanea, per spingere l'istantanea nell'artefattore binario quando viene creata l'istantanea.
- L'API di
‘bin_repo_sync’ Swagger, disponibile sotto /ops/docs
Prima di iniziare
Assicurarsi che l'ambiente possa accedere al repository binario JFrog configurato utilizzando un criterio di rete per aprire l'accesso esterno.
Procedura
Completare la seguente configurazione per inviare il pacchetto di versioni al repository binario di JFrog.
Per l'authoring di flussi di lavoro e per l'authoring di Workflow Process Service:
- Creare un file di configurazione 'custom.xml per l'alias di autenticazione, con il nome utente e il token di accesso di JFrog.
<?xml version="1.0" encoding="UTF-8"?>
<server>
<authData id=" JFrog-J2C-Auth-Alias-Name " user="your_user_name" password="your_access_token"/>
</server>
- Creare un segreto utilizzando il proprio 'custom.xml:
kubectl create secret generic your-custom-secret-name --from-file=sensitiveCustom.xml=./custom.xml
- Aggiungere la seguente configurazione al file delle risorse personalizzate (CR):
bastudio_configuration:
bastudio_custom_xml: |+
<properties>
<server>
<build-artifactory-configuration merge="mergeChildren">
<build-artifactory-implementation>jfrog</build-artifactory-implementation>
<build-artifactory-url>https://myartifactorycloud.jfrog.io/artifactory</build-artifactory-url>
<build-artifactory-repo-name> my-repo-name </build-artifactory-repo-name>
<build-artifactory-auth-alias-name>JFrog-J2C-Auth-Alias-Name</build-artifactory-auth-alias-name>
<build-artifactory-package-type> [ivy|maven] </build-artifactory-package-type>
<build-artifactory-group-id>my-group-id</build-artifactory-group-id>
</build-artifactory-configuration>
</server>
</properties>
custom_secret_name: your-custom-secret-name
dove
<build-artifactory-url> è l' URL dell'API REST del repository binario di JFrog.
- Se SSL è abilitato per JFrog, importare il certificato TLS di JFrog in Cloud Pak for Business Automation e aggiornare il file CR.
oc create secret generic jfrog-ssl-secret --from-file=tls.crt=/root/jfrogSSL.cert
bastudio_configuration:
tls:
tlsTrustList: [jfrog-ssl-secret]
Questo passaggio non è necessario se il sito web di JFrog è firmato da un'autorità di certificazione (CA) ben nota.
- Se sono stati applicati dei criteri di rete alla distribuzione per limitare l'accesso a Internet, è necessario creare un criterio di rete per garantire che il server di creazione del flusso di lavoro possa accedere al server di artefatti binari esterni di JFrog. Creare un criterio di rete per consentire al server di creazione del flusso di lavoro di connettersi al server di artefatti binari JFrog utilizzando la porta JFrog. Applicare il criterio di rete come segue:
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: "bas-allow-jfrog"
spec:
podSelector:
matchLabels:
com.ibm.cp4a.networking/egress-external-app-component: 'BAS'
policyTypes:
- Egress
egress:
- to:
- ipBlock:
cidr: # IP address your jfrog binary repository server.
- ports:
- protocol: TCP
port: # Port of your jfrog binary repository server.
Attendere che l'operatore termini la riconciliazione.
- Verifica la configurazione:
- Nel pod bastudio, controllare '
/opt/ibm/wlp/usr/servers/defaultServer/TeamWorksConfiguration.running.xml per vedere che '<build-artifactory-url>, '<build-artifactory-auth-alias-name>, '<build-artifactory-repo-name>, '<build-artifactory-package-type> e '<build-artifactory-group-id> sono stati uniti nel file.
- Inoltre, verificare che il file '
/opt/ibm/wlp/usr/shared/resources/sensitive-custom/sensitiveCustom1.xml esista e abbia il '<authData> dell'utente e del token JFrog.