TECNOLOBO

No recuerdas tu codigo?
Se te olvido como se hace?

Aqui podras guardar lo que necesiten
Y cuando sea necesesario

Creado por julian gomez
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