Oracle과 Docker의 유효한 패키지(en 파이프라인)

La forma correcta de asegurar que los paquetes de nuesta aplicación, no tengan errores durante el Pase a Producción; es compilarlos anticipadamente en unambiente Pre-Producción(o UAT).

Pero si lo tenemos que hacer manualmente, existe la posibilidad de obviar algún script or validation.

따라서 자동화는 CI/CD의 새로운 운영에 매우 중요합니다.


Como primer punto, es tener una base de datos inicial. Puede contener solo la estructura de las tablas y con ello reducimos el tamaño del export.

Realizamos el import en una imagen de Docker:

FROM docker.io/gvenzl/oracle-xe:11


Luego, ejecutaremos los 스크립트(DDL y DML). A continuación, compilaremos todos los paquetes.

잘못된 파이프라인, 잘못된 파이프라인. Esa será la forma de validarlos.



azure-pipelin.yml 문서의 구성:

# Build Docker image for this app, to be published to Docker Registry
pool:
  vmImage: 'ubuntu-latest'
variables:
  buildConfiguration: 'Release'
steps:
- script: |
    git clone https://gitlab.com/edgar.gs/posunificado-docker-oracle11g.git
    cd posunificado-docker-oracle11g
    git checkout 5a9d701c0492841e734ee08dd1de10f6d652578d
- task: CopyFiles@2
  inputs:
    SourceFolder: 'posunificado-docker-oracle11g/DOCKER/init_scripts'
    contents: '**'
    targetFolder: 'fps-app-bd-posunificado/DOCKER/init_scripts'
- task: ExtractFiles@1
  inputs:
    archiveFilePatterns: 'posunificado-docker-oracle11g/DOCKER/PTOVENTA_V1.7.2.DMP.zip'
    destinationFolder: 'fps-app-bd-posunificado'
    cleanDestinationFolder: false
    overwriteExistingFiles: false 
- script: |
    cd fps-app-bd-posunificado
    docker build -f Dockerfile -t ptoventa-build:$BUILD_BUILDID .
    docker run --name ptoventadb ptoventa-build:$BUILD_BUILDID
- script: |
    docker start ptoventadb
    docker cp ptoventadb:/u01/app/oracle/artifacts $(System.DefaultWorkingDirectory)
    docker stop ptoventadb

- task: CopyFiles@2
  inputs:
    contents: '**/*.log'
    targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
  inputs:
    pathToPublish: $(Build.ArtifactStagingDirectory)
    artifactName: MyBuildOutputs



Se puede observar la ejecución en el siguiente video:




문서화



https://gitlab.com/edgar.gs/posunificado-docker-oracle11g.git
https://hub.docker.com/r/gvenzl/oracle-xe

좋은 웹페이지 즐겨찾기