커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
답변 대기중
3주차 gitlab CI/CD pipeline push 에 대한 에러 해결방법을 알고싶습니다
[스킬업] Docker 기반 CI/CD 파이프라인 구축하기 v0
3주차
북마크
김*석
댓글
0
추천
0
조회수
19
조회수
19
답변 대기중

* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.

* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.


안녕하세요

virtual box 가 실행되지 않는 수강생입니다 . 그래서 저는 wsl 을 통해 강의를 수강중입니다.

아키텍쳐의 경우 amd64이고 파이프라인 구성중 아래와 같은 에러가 발생했습니다

첫 에러는

qemu-aarch64-static: Could not open '/lib/ld-linux-aarch64.so.1': No such file or directory 와 같이 so.1 파일을 확인해 본결과 존재 하지 않아

sudo apt-get update

sudo apt-get install libc6-arm64

와 같은 명령어 실행후 lib를 설치했습니다

libz.so.1 또한

sudo apt-get install zlib1g

ls /usr/lib/x86_64-linux-gnu/libz.so.1 로 확인해 본 결과 존재하는걸로 판단되었습니다

그래서 pipe라인에 환경변수를 넣는 방법이 있는걸로 판단되어 넣었으나 해결되지 않고 있습니다.

gitrunner 가 실행되었을때 의 계정에 읽기 쓰기 권한이 없어서 발생하는 에러일까요??

gitrunner 설정을 바꿔주면 되는건지 궁금합니다.




스파르타 즉문즉답




작성한 코드 및 에러 메세지

오류 발생 시, 작성한 코드 전체와 에러 메시지를 첨부해 주세요.

Tip 1) </> 아이콘을 눌러 코드박스를 만들어 보세요.

Makefile

PRJ_NAME=teamjoinc/test-app
ECR_URI=528757809327.dkr.ecr.ap-northeast-2.amazonaws.com
VERSION:=$(shell git rev-parse --short HEAD)


build: 
	docker build -t $(PRJ_NAME):$(VERSION) .
push:
	aws ecr get-login-password --region ap-northeast-2 | docker login --username AWS --password-stdin ${ECR_URI}
	docker tag $(PRJ_NAME):$(VERSION) $(ECR_URI)/$(PRJ_NAME):$(VERSION)
	docker tag $(PRJ_NAME):$(VERSION) $(ECR_URI)/$(PRJ_NAME):latest
	docker push $(ECR_URI)/$(PRJ_NAME):$(VERSION)
	docker push $(ECR_URI)/$(PRJ_NAME):latest
deploy: 
	aws ecs update-service --cluster test-app-cluster --service sparta-app-srv --task-definition test-app:1 --force-new-deployment --output json


.gitlab-ci.yml

stages:          # List of stages for jobs, and their order of execution

  - build

  - test

  - deploy




variables:

  LD_LIBRARY_PATH: "/usr/lib/x86_64-linux-gnu"




build-job:       # This job runs in the build stage, which runs first.

  stage: build

  script:

    - echo "Docker build start"

    - make build

    - echo "Docker build complete."




push-job:       # This job runs in the build stage, which runs first.

  stage: build

  script:

    - echo "Docker push start"

    - make push

    - echo "Docker push complete."




unit-test-job:   # This job runs in the test stage.

  stage: test    # It only starts when the job in the build stage completes successfully.

  script:

    - echo "Running unit tests."

    - sleep 5

    - echo "Unit tests complete."




lint-test-job:   # This job also runs in the test stage.

  stage: test    # It can run at the same time as unit-test-job (in parallel).

  script:

    - echo "Linting code... This will take about 10 seconds."

    - sleep 5

    - echo "No lint issues found."




deploy-job:      # This job runs in the deploy stage.

  stage: deploy  # It only runs when *both* jobs in the test stage complete successfully.

  environment: production

  script:

    - echo "Deploying application..."

    - make deploy

    - echo "Application successfully deployed."








취소
 공유
취소
댓글 0
댓글 알림
나의얼굴