Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Gestión de las dependencias propias en los flujos de trabajo GitHub
Puede mejorar su GitHub flujo de trabajo para gestionar las dependencias propias cuando utilice Amazon Q Developer para la transformación del código.
El flujo de trabajo estándar para desarrolladores de Amazon Q gestiona proyectos con dependencias públicas de Maven. Sin embargo, los proyectos empresariales suelen incluir dependencias propias, como los archivos Java privados ARchive (archivos JAR) que no están disponibles en los repositorios públicos. Este flujo de trabajo mejorado amplía la configuración estándar para admitir dependencias públicas y privadas.
Casos de uso para mejorar el flujo de trabajo
Utilice la configuración GitHub de flujo de trabajo mejorada si su proyecto tiene:
-
Dependencias JAR privadas o internas
-
Las bibliotecas de utilidades personalizadas no están disponibles en Maven Central
-
Compila fallas con
Could not resolve dependencies
errores
Configuración de ejemplo
El siguiente ejemplo muestra una configuración de flujo de trabajo completa que gestiona las dependencias propias:
name: Q Code Transformation on: push: branches: - 'Q-TRANSFORM-issue-*' env: MAVEN_CLI_OPTS: >- -Djava.version=${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '1.8' }} -Dmaven.compiler.source=${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '1.8' }} -Dmaven.compiler.target=${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '1.8' }} jobs: q-code-transformation: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-java@v4 with: java-version: ${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '8' }} distribution: 'temurin' - name: Cache Maven dependencies uses: actions/cache@v4 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Install First-Party Dependencies run: | mvn install:install-file \ -Dfile=./your-library/built-library/1.0.0/your-library-1.0.0.jar \ -DgroupId=com.yourcompany.samples \ -DartifactId=your-library \ -Dversion=1.0.0 \ -Dpackaging=jar - name: Build and copy dependencies run: | mvn ${{ env.MAVEN_CLI_OPTS }} verify mvn ${{ env.MAVEN_CLI_OPTS }} dependency:copy-dependencies -DoutputDirectory=dependencies -Dmdep.useRepositoryLayout=true -Dmdep.copyPom=true -Dmdep.addParentPoms=true - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: q-code-transformation-dependencies path: dependencies - name: Debug information if: failure() run: | echo "Branch: ${{ github.ref_name }}" echo "Commit message: ${{ github.event.head_commit.message }}" echo "Java version logic result: ${{ contains(github.event.head_commit.message, 'Code transformation completed') && '17' || '8' }}" echo "Local Maven repository contents:" find ~/.m2/repository/com/yourcompany/samples -name "*.jar" 2>/dev/null || echo "No your-library found in local repo" java -version mvn -version
Componentes clave del flujo de trabajo mejorado
El GitHub flujo de trabajo mejorado tiene varios componentes clave:
-
Instalación de dependencias propia
El flujo de trabajo incluye un paso fundamental para instalar dependencias privadas mediante el comando
install:install-file
Maven. Esto garantiza que sus dependencias privadas estén disponibles en el repositorio local de Maven durante la transformación. -
Manejo dinámico de versiones de Java
El flujo de trabajo cambia automáticamente entre Java 8 y Java 17 en función del estado de transformación y utiliza variables de entorno para gestionar las propiedades del compilador.
-
Configuración de Maven
El flujo de trabajo mejorado incluye una configuración completa de Maven con:
-
Almacenamiento en caché de dependencias para mejorar el rendimiento
-
Administración completa de las propiedades del compilador
-
Preservación del diseño del repositorio
-
Manejo de archivos POM
-
-
Pasos para la implementación
-
Identifique sus dependencias privadas en
pom.xml
-
Organice los archivos JAR en la estructura de su repositorio
-
Personalice el flujo de trabajo con sus rutas y coordenadas específicas
-
Pruebe el flujo de trabajo en una rama que coincida con el patrón
Q-TRANSFORM-issue-*
-
-
Solución de problemas
El flujo de trabajo incluye un paso de información de depuración que se activa en caso de error y proporciona:
-
Información sobre la sucursal
-
Confirme los detalles del mensaje
-
Configuración de la versión Java
-
Contenido del repositorio local de Maven
-
Información sobre las versiones de Java y Maven
-