Jenkins 2 tiene tuberías tiene un ciudadano de primera clase. Sin embargo, en los ejemplos, las tareas parecen ejecutarse como una secuencia única:
node {
// Mark the code checkout 'stage'....
stage 'Checkout'
// Get some code from a GitHub repository
git url: '[email protected]:elifesciences/elife-bot.git'
// Mark the code build 'stage'....
stage 'Build'
echo "Unit tests will run here"
stage "Production"
echo "Deploying to production environment"
}
Para la implementación en el sistema de producción, a menudo es útil requerir aprobación manual; ¿Hay alguna manera de insertar un botón manual para presionar dentro de una tubería?
He estado buscando posibles pasos para lograr esto en los documentos , en vano.
input
paso en la tubería que se detiene y le pide al usuario una entrada (o abortar la compilación). Sin embargo, el escenario y el indicador de estado sigue parpadeando, mientras que quería un estado estable (por ejemplo, entrar en ella viernes por la tarde y decide implementar el lunes.)Respuestas:
input es la opción que estás buscando. Aquí está la forma en que lo estoy usando. Es importante tener el paso fuera de un nodo, de lo contrario, Jenkins mantendrá a un agente esperando el siguiente paso. Tenga en cuenta que el segundo nodo puede no usar el mismo espacio de trabajo que el primero.
fuente
Al final, creé tuberías separadas
test-project
yprod-project
, donde al final deltest-project
código se fusionó en unaapproved
rama.Luego,
prod-project
se puede configurar la canalización para que no se active para cada nueva confirmación, de modo que se pueda implementar a pedido.fuente
Además, también puede agregar tiempo de espera automático como se muestra a continuación
Si lo busca, también puede vincular la entrada de jenkins a las credenciales de los usuarios que acceden a Jenkins si solo desea permitir que individuos específicos sean capaces de responder; también se basa en el hecho de que sus controles Git también son suficientes.
fuente
Este es solo un ejemplo simple, pero puede activarlo como lo necesite.
fuente
Lo hice como se muestra a continuación al leer estos documentos https://jenkins.io/doc/book/pipeline/syntax/
fuente