【 docker 】 jenkins + gitlab 자동 배치 설정

3363 단어 dockerlinux
머리말
  • 이 물건 은 github action circle 과 travis 를 직접 사용 하 는 것 보다 훨씬 어렵 습 니 다. 기록 하 세 요.

  • 흐름
  • 우선 gitlab 에서 push 를 진행 할 수 있 는 창고 가 있 는 지 확인 합 니 다.
  • 젠 킨 스 가 gitlab 까지 핑 할 수 있 도록 확보
  • 젠 킨 스 가 nginx
  • 까지 핑 할 수 있 도록 확보
  • jenkins 플러그 인 에서 node 를 검색 하여 nodejs 플러그 인 을 설치 합 니 다.
  • docker restart jenkins 재 부팅
  • jenkins 전역 도구 설정 에서 nodejs 선택 버 전 을 찾 아 저장 하면 됩 니 다.
  • jenkins 에서 작업 을 만 든 다음 node 환경 을 선택 하고 셸 node - v 를 써 서 node 버 전 을 봅 니 다.(node 폐 시간 을 처음 설치 하기 때문에 나중에 설치 하지 않 아 도 되 기 때문에 먼저 해 보 겠 습 니 다).
  • 여기 서 정상적으로 1 분 이면 다 설치 할 수 있 습 니 다. 20 분 이상 설치 하지 않 으 면 문제 가 있 을 것 입 니 다. 제 가 처음으로 반나절 을 설치 하지 못 해서 잠 을 자고 12 시간 이 지나 도 끝나 지 않 았 는데 다시 설치 하 는 것 을 취소 하고 1 분 만 에 끝 났 습 니 다.
  • jenkins 용기 생 성 공개 키 비밀 키:
  • docker exec -it jenkins /bin/bash
    ssh-keygen -t rsa
    
  • 접미사 이름 에 pub 가 있 는 것 은 공개 키 이 고 다른 하 나 는 비밀 키 입 니 다.
  • jenkins 는 비밀 키 를 설정 하고 gitlab 와 nginx 는 공개 키 를 설정 합 니 다.
  • 젠 킨 스 는 Manage Credentials 를 찾 은 다음 증 거 를 추가 합 니 다. 선택 유형 은 SSH Username with private key
  • 입 니 다.
  • ID 는 이 증거 로 Jenkins 에 표 시 됩 니 다. UserName 은 Gitlab 사용자 이름 이 고 PrivateKey 는 서버 비밀 키 입 니 다.
  • PrivateKey 를 선택 하고 아래 의 "add" 를 클릭 하여 서버 의 비밀 키 내용 을 복사 합 니 다 (위 아래 의 힌트 영어 도 복사 하 는 것 을 기억 합 니 다).
  • 종료 저장
  • Gitlab 페이지 를 열 고 오른쪽 상단 프로필 사진 = > 설정 을 클릭 하여 왼쪽 에 있 는 'SSH 키' 를 찾 습 니 다.~ /. ssh / idrsa. pub 파일 내용 복사.키 추가 를 누 르 면 저장 성공
  • 로 컬 에서 gitlab 에 올 라 온 창 고 를 찾 았 습 니 다.ssh 클론 의 주 소 를 복사 합 니 다 (주의! ssh 의 주소 에는 http: / / 주소 가 맞지 않 으 면 이것 을 제거 해 야 합 니 다.)
  • 젠 킨 스 는 작업 을 만 들 고 주 소 를 작업 'Repository URL' 에 복사 합 니 다. 'Credentials' 는 방금 추 가 된 증명 서 를 선택 하 십시오.
  • 환경 node 선택
  • 셸 추가
  • node -v
    npm -v
    npm install -g cnpm --registry=https://registry.npm.taobao.org
    cnpm install
    npm run build
    
  • 구축 에 성공 하면 문제 가 없습니다. 아래 nginx
  • 를 설정 합 니 다.
  • nginx 서버 에 공개 키 비밀 키 를 생 성하 고 디 렉 터 리 에 들 어가 서 keys 를 만 들 고 jenkins 의 공개 키 를 auth.. keys 에 붙 여 넣 습 니 다.
  • ssh-keygen -t rsa
    cd .ssh/
    touch authorized_keys
    vi authorized_keys
    
  • 위 에 있 는 그 방법 없 이 제 인 킨 스에 서 공개 키 를 대상 서버 에 직접 보 낼 수도 있다.
  • ssh-copy-id -i .ssh/id_rsa.pub      @192.168.x.xxx
    
  • 주의: ssh - copy - id 키 를 원 격 기기 에 쓰 는 ~ /. ssh / authorizedkey. 파일 중
  • 젠 킨 스 퀘 스 트 수정
  • node -v
    npm -v
    npm install -g cnpm --registry=https://registry.npm.taobao.org
    cnpm install
    npm run build
    
    #   
    tar -czvf vue-cli-demo.tar ./dist
    scp ./vue-cli-demo.tar [email protected]:~
    ssh [email protected] "tar zxvf ~/vue-cli-demo.tar && mv dist/* /home/nginx/html"
    
  • 이 ip 을 처음 연결 하면 영구적 으로 방문 하 느 냐 고 물 을 것 입 니 다. 직접 배 치 를 하면 여기에 걸 립 니 다. 해결 방법 은 수 동 으로 연결 해서 옵션 을 선택 하거나 인 자 를 추가 하 는 것 입 니 다.
  • -o "StrictHostKeyChecking no"
    
  • 마지막 에 ok 입 니 다.
  • 좋은 웹페이지 즐겨찾기