Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
clase:daw:daw:2eval:tema09 [2020/12/18 09:27] admin |
clase:daw:daw:2eval:tema09 [2025/02/13 09:33] (actual) admin [Ejercicio 1] |
||
---|---|---|---|
Línea 7: | Línea 7: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
+ | |||
+ | Es despliegue continuo es desplegar las aplicaciones web lo más pronto posible. | ||
+ | |||
+ | Hay varias formas de hacer eso, las 2 que vamos a comentar son: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
Línea 24: | Línea 30: | ||
{{: | {{: | ||
- | En ejercicios de temas anteriores hemos visto como instalar Jenkins.Ahora vamos a ejecutar un Script desde Jenkins | ||
- | ==== root por SSH ==== | + | ===== GitHub Actions ===== |
- | Antes que nada debemos permitir | + | GitHub Actions |
+ | |||
+ | |||
+ | Para ello en el código fuente del proyecto Java , hay que añadir el fichero '' | ||
- | Para permitirlo hay que lanzar las siguientes órdenes: | + | <sxh yml> |
+ | name: Desplegar | ||
- | sudo sed -i ' | + | on: |
- | | + | |
+ | push: | ||
+ | branches: | ||
+ | - master | ||
- | Despues habrá que cambiar la contraseña a root con la siguiente orden: | + | jobs: |
+ | vpn_job: | ||
+ | runs-on: ubuntu-latest | ||
+ | steps: | ||
+ | - name: Checkout repo | ||
+ | uses: actions/ | ||
+ | |||
- | | + | - name: Configurar la VPN |
+ | working-directory: | ||
+ | run: | | ||
+ | | ||
+ | echo "${{ secrets.VPN_CA }}" | base64 --decode > ca.crt | ||
+ | echo "${{ secrets.VPN_USERNAME }}" > credenciales.txt | ||
+ | echo "${{ secrets.VPN_PASSWORD }}" >> credenciales.txt | ||
+ | sed -i " | ||
+ | sed -i " | ||
- | <note warning> | + | - name: Connect to VPN |
- | En un entorno real o sin que haya un cortafuegos delante de la máquina, nunca deberíamos permitir que con root se pueda acceder a la máquina real. Sin embargo lo vamos nosotros a permitir ya que estamos en un entorno educativo. | + | |
- | </note> | + | run: sudo openvpn --config vpn-pve.conf --daemon --log openvpn.log |
- | ==== SSH2 Easy ==== | + | - name: Wait for VPN to establish |
- | Otra cosa que necesitamos hacer es instalar y configurar el plugin "SSH2 Easy" para poder acceder por SSH a la máquina real y así lanzar las órdenes en la máquina real. | + | run: sleep 10 |
- | * Instalar en Jenkis el plugin "SSH2 Easy": | + | - name: Test Connection |
- | * En Jenkins pulsa " | + | |
- | * En el campo de búsqueda, escribe "SSH2 Easy" | + | run: sudo cat openvpn.log |
- | * Marca el plugin "SSH2 Easy" y pulsa " | + | |
- | * Espera unos segundos y pulsa en " | + | |
- | \\ | + | |
- | \\ | + | |
+ | - name: Test Connection | ||
+ | run: ping -c 2 192.168.59.104 | ||
- | * Configurar el plugin "SSH2 Easy": | + | - name: Run remote script |
- | * Vuelve a " | + | |
- | * Ves al apartado de " | + | env: |
- | * En el apartado " | + | |
- | * Group Name: Máquina Real | + | run: | |
- | * Password: La contraseña de root de tu máquina real. | + | echo "$SSH_PRIVATE_KEY" |
- | * Pulsa en el botón | + | chmod 600 ./id_rsa |
- | * Vuelve a " | + | ssh -i ./id_rsa -o StrictHostKeyChecking=no -t ${{ secrets.SERVER_USERNAME }}@192.168.59.104 'sudo rm -rf DesplegarFacturasDocker' |
- | * Ves al apartado de " | + | ssh -i ./id_rsa -o StrictHostKeyChecking=no -t ${{ secrets.SERVER_USERNAME }}@192.168.59.104 'sudo git clone https://github.com/ |
- | * En el apartado " | + | |
- | * Server Group: Máquina real. | + | ssh -i ./id_rsa -o StrictHostKeyChecking=no -t ${{ secrets.SERVER_USERNAME }}@192.168.59.104 'cd DesplegarFacturasDocker && sudo ./deploy.sh 2>& |
- | * Server Name: maquina-real | + | </ |
- | * Server IP: La IP de la máquina real. | + | |
- | ==== Crear un Job ==== | + | Ahora al hacer cualquier cambio |
- | Vamos ahora a crear una tarea para poder ejecutar un script desde Jenkins | + | |
- | * Pulsa en "Nueva Tarea" , escribe "Tarea de Prueba" | + | Puedes ver un ejemplo |
- | * Ves al apartado de " | + | |
- | * El el campo " | + | |
- | mkdir / | + | ===== Ejercicios ===== |
- | * Pulsa el botón de " | + | ===== Ejercicio 1 ===== |
- | * Pulsa en " | + | Añade al repositorio de tu código fuente de Java una acción de //GitHhub Actions// que sea para desplegar. |
- | * Si todo ha ido bien, en tu máquina real ahora tendrás la carpeta '' | + | |
+ | Se ejecutará: | ||
+ | * Manualmente | ||
+ | * Cuando haya un cambio en '' | ||