Basándonos en la documentación de AWS Code Build , podemos pasar EnvironmentVariables con el tipo PARAMETER_STORE .
Me aseguré de que el nombre del almacén de parámetros esté escrito correctamente y que el parámetro exista .
Intenté iniciar sesión a través de aws cli, pero parece que no está relacionado y todavía obtengo un resultado incorrecto.
Aquí está mi fragmento de yaml de formación en la nube:
- Name: Build Actions: - Name: HelloWord ActionTypeId: Category: Build Owner: AWS Provider: CodeBuild Version: "1" Configuration: ProjectName: HelloWoldBuild EnvironmentVariables: Fn::Sub: - '[{"name": "NGINX_BASE_IMAGE_TAG","value": "${NGINX_BASE_IMAGE_TAG}","type": "PARAMETER_STORE"}] - NGINX_BASE_IMAGE_TAG: "/nginx/base" y aquí está mi fragmento buildspec.yaml :
version: 0.2 phases: install: runtime-versions: docker: 18 pre_build: commands: - echo "${NGINX_BASE_IMAGE_TAG}"Cuando veo el registro de CodeBuild, el resultado fue '***'. El correcto debe ser el valor de mi almacén de parámetros.
¿Cómo podría suceder? Todavía no lo entiendo. He probado con el tipo PLAINTEXT y funciona bien.
Esto es por diseño.
Los valores del almacén de parámetros se consideran sensibles .
Por lo tanto, CodeBuild los enmascara para que no aparezcan en texto sin formato en sus registros .
Para lidiar con eso, puede asignarlo a una variable diferente e imprimir eso. El siguiente sería mi primer intento de lidiar con eso:
pre_build: commands: - NEW_VAR=${NGINX_BASE_IMAGE_TAG} - echo "${NEW_VAR}"Alternativa. Guárdelo en un archivo e imprima un archivo:
pre_build: commands: - echo ${NGINX_BASE_IMAGE_TAG} > /tmp/test.value - cat /tmp/test.value