Como migrar Jenkinsfile Frontend
No projeto
Atualizar Jenkinsfile
Atualizar a jenkinsfile conforme o devido template:
Breaking Changes
Renomear
<app-name>-productionpara<app-name>-portalemangular.jsone em qualquer outra referência no projeto.
package.json Scripts
Agora, o Jenkinsfile chamará scripts da NPM, para que você possa modificar facilmente qualquer um deles:
jenkins:test: Comando para testar seu application/packages/parcels, geralmente você deve seguir a documentação @Viasoft/testing.Você pode verificar o estágio de teste da Jenkinsfile antiga para ter certeza do comando anterior.
jenkins:build-application: Comando para buildar seu aplicativo.Durante a build, esse comando terá algumas variáveis substituídas:
!APP_NAME: Nome da Aplicação!APP_BUILD_SUFFIX: sufixo-portal, pode ser customizado pela Jenkinsfile (Essa variável pode estar vazia devido aos desvios de fluxo)!APP_FOLDER: Pasta onde Jenkinsfile esperará odist.!BUILD_CDN_URL: CdnUrl, dessa forma, sua build pode saber onde estará disponível.
jenkins:build-package:<PACKAGE_NAME>: Comando para construir seu(s) package(s), observe que o<PACKAGE_NAME>depende do nome do seu package.jenkins:build-parcel:<PARCEL_NAME>: Comando para construir suas parcels, observe que<PARCEL_NAME>depende do nome da sua parcel.
Exemplos
{
"scripts": }
// ...
"jenkins:test": "node ./test.script.js",
"jenkins:build-application": "node ./node_modules/@angular/cli/bin/ng build !APP_NAME!APP_BUILD_SUFFIX --configuration production --outputPath=!APP_FOLDER --deployUrl=!BUILD_CDN_URL",
"jenkins:build-package:PACKAGE_NAME": "npm run build-my-package",
"jenkins:build-parcel:PARCEL_NAME": "npm run build-my-parcel"
}
}
Note
Não se preocupe, se você não tiver nenhum package/parcel, os scripts relacionados a eles não serão chamados.
Arquivo de Versão
Criar arquivo
version.yamlna root do projeto, contendo:version: <version> packageVersion: <packageVersion>
Onde
<version>é versão da master(develop), contendox, por exemplo:version: 2022.2.0.x
version: 1.2.x
Onde
<packageVersion>é a versão do packages, caso seu serviço não tenha packages, essa propriedade pode ser ignorada.
Exemplos
version: 1.3.x packageVersion: 1.2.1
Replaces
Durante o build de um app apenas as seguintes variáveis / strings serão substituídas após o build:
!BACKEND_URL
!CDN_URL
!DYNAMIC_CDN_URL
!APP_VERSION
!APP_DEPLOY_VERSION
Quaisquer outras variáveis / strings que eram substituídas anteriormente devem ser revisadas/removidas/substituídas manualmente.
Scripts customizáveis
Agora a Jenkinsfile suporta scripts customizáveis pré e pós estágios, se você deseja executar algum código entre os estágios, poderá criar qualquer um dos seguintes arquivos na pasta ./Jenkins, contendo comandos de bash:
pre-initialize.sh
post-initialize.sh
pre-install-dependencies.sh
post-install-dependencies.sh
pre-tests.sh
post-tests.sh
pre-build-application.sh
post-build-app.sh
pre-publish-app.sh
post-publish-app.sh
pre-build-packages.sh
post-build-packages.sh
pre-publish-packages.sh
post-publish-packages.sh
pre-build-parcels.sh
post-build-parcels.sh
pre-publish-parcels.sh
post-publish-parcels.sh
Note
Não se preocupe, esses scripts são opcionais; portanto, por padrão, você não precisará deles.
No Jenkins
Habilitar a build para a branch master