Categorias
iiiiii
Subir imagen con action github
Descripcion
asdas
Nota 1
1. Tener un repositorio privado en dockerhub
2. crear un repositorio en github
3. crear un uusario en dockerhup
3.1: buscar para crear un nuevo acceso token.
3.2: al crear el token poner que solo se pueda usar para grabar y leer. "Esto se hace para hacer login con un token desde cualquier otra plataforma"
4. ir a settings y en el menu izquierda buscar secrets
4.1: crear un nuevo Repository secrets y crear las dos siguientes
4.1.1:
DOCKER_USER = nombreusuariodocker
DOCKER_PASSWORD = token generdado en el paso 2.2
5. vamos a github y buscamos ACTIONS y buscamos docker image y le damos configurar
6. Al darle click en dokcer image creara un nuevo directorio ".github/workflows" con un archivo dentro llamado
docker-image.yml
7. Vamos a modificar este archivo ya que contiene pasos y necesitamos adicionarle nuevos
8. Los pasos se crear con -- name y se crean las instrucciones para loggin y para crear la imagan
9. se guarda y se hace el commit y automaticamente se ejecuta
10. se va a github al tab actions y buscar el trabajo que se esta corriendo y validar que el loggin y la imagen
se halla crado
11. manejar versiones de la imagen de forma automatica usando el packege de actions creado por un tercero
https://github.com/marketplace/actions/git-semantic-version
12. usamos el paquete creando una nueva action para llamarla y configuramos lo basico
13. al hacer un commit en el repositorio podemos poner en el commit la palabra que configuramos en el plugin
para que cree una version mayor o menor
Nota 2
#create docker-image.yml
name: Docker Image CI
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
# - name: Build the Docker image
# run: docker build . --file Dockerfile --tag my-image-name:$(date +%s)
#nuevo_paquete_para_manejar_las_versiones_de_forma_automatica_cuando_hacemos_commit
- uses: paulhatch/semantic-version@v5.3.0
with:
#si_en_el_commit_se_poner_la_palabra_mayor:_esto_cambiara_el_X.0.0.0_por_el_siguiente_numero,_supports_regular_expressions wrapped with '/'
major_pattern: "mayor:"
#Si_el_commit_contiene_la_palabra_manoer_va_cambiar_0.X.0.0_por_el_consetutivo
minor_pattern: "menor:"
#Una_cadena_para_determinar_el_formato_de_la_versi?n_de_salida_patch_es_la version
version_format: "${major}.${minor}.${patch}-prerelease${increment}"
id: version
#nuevospasso
- name: nombreCualqueira login
env:
#aqui_se_usa_la_variable_creada_en_github_secrets
DOCKER_USER: ${{secrets.DOCKER_USER}}
DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}}
#creamosuna_variable_para_enlazar_lo_que_nos_devuelve_el_paquete_paulhatch/semantic-version@v5.3.0
NEW_VERSION: ${{ steps.version.outputs.version }}
#aqui_Se_pone_lo_que_Se_va_correr
run: | #Indica_que_se_van_agregar_Muchas_instrucciones_y_que_cada_una_va_ser_independiente
echo "iniciando login"
docker login -u $DOCKER_USER -p $DOCKER_PASSWORD
- name: contruir imagane
env:
#creamos una variable para enlazar lo que nos devuelve el paquete paulhatch/semantic-version@v5.3.0
NEW_VERSION: ${{ steps.version.outputs.version }}
run: |
docker build -t tecnolobo/docker-graphql:$NEW_VERSION .
- name: push imagen a dockerhub
env:
#creamos una variable para enlazar lo que nos devuelve el paquete paulhatch/semantic-version@v5.3.0
NEW_VERSION: ${{ steps.version.outputs.version }}
run: |
docker push tecnolobo/docker-graphql:$NEW_VERSION
Nota 3
asd