[IONIC] ionic + fastlane + git + jenkins + slack

jae hwan choo·2021년 12월 27일

아이오닉

목록 보기
5/6

ionic + fastlane + git + jenkins + slack

CI/CD 작업을 구축한다.
모든 배포와 확인은 slack에서 할 수 있게 만든다.

1. ionic 프로젝트를 git에 올린다.

2. ionic 프로젝트에 fastlane을 적용해 빌드를 성공한다.

1,2번이 사전 작업이 되어 있어야 한다.

3. slack 연결

  1. 슬렉 워크 스페이스 생성
  2. 슬렉의 배포 채널을 만들고 웹 후크를 기능 추가
    웹 후크
  3. fastlane으로 빌드 상태 전송 추가
  4. (옵션) 드랍박스와 연결시켜 develop 버전 테스트 (아이폰 테스트 가능)
    1. 로컬 서버 구축 (바로다운로드 페이지 연결)
    2. 드랍박스 파일 싱크

4. slack bot 파일 업로드

  1. fastlane plugin 추가 한다.
    gem 'fastlane-plugin-slack_upload'
    해당 플러그인을 사용해서 업로드 한다.

  2. 채널에서 사용 할 슬랙 APP을 만든다.
    슬랙 APP 생성

    OAuth Tokens for Your Workspace 활성화 한다.
    : Bot User OAuth Token 이 생성된다.
    : xoxb-2869352109671-2907966422928-x...x

  3. 파일쓰기 권한과 챗 쓰기 권한을 준다. - 2021 New 디자인
    Setting - App Menifest 에서 적용

features:
  bot_user:
    display_name: HgwsUploader
    always_online: true
oauth_config:
  scopes:
    bot:
      - files:write
      - chat:write
  1. 채널우측버튼 - 통합 - 앱추가, 내가 만듯 봇 추가.
    채널에 파일을 올리려면 반드시 봇을 채널에 초대해야 한다!!
  2. slack_upload 명령어를 통해 파일을 업로드 한다.
    : fastlane 인식 경로와 slack_upload 인식 경로가 조금 다르다

5. slack 커맨드 명령어 빌드

  1. git 프로젝트를 jenkins를 통해 배포 가능하도록 한다.
    링크
  2. jenkins에 API를 이용해 빌드가능한 패키지를 설치 한다.
    https://plugins.jenkins.io/build-token-root/
  3. Postman 같은 툴로 API를 날려서 빌드가 되는지 확인한다.
curl -X POST http://JENKINS_URL/buildByToken/build?job=HTS_AND_1_DEV&token=start
  1. 슬랙 슬래시 커멘드 명령어를 추가한다.
    신규 옵션 버전은 슬래시 커맨드가 https만 가능한다.
    http로 메세지를 날리려면 구버전 설정 화면으로 등록 해야 한다.
_metadata:
  major_version: 1
  minor_version: 1
display_information:
  name: [앱이름]
features:
  bot_user:
    display_name: [봇이름]
    always_online: true
  slash_commands:
    - command: /iosdev
      url: https://[주소]/buildByToken/build?...
      description: 아이폰 개발 빌드
      should_escape: false
    - command: /iosprod
      url: https://[주소]/buildByToken/build?...
      description: 아이폰 개발 빌드
      should_escape: false
    - command: /anddev
      url: https://[주소]/buildByToken/build?...
      description: 안드로이드 개발 빌드
      should_escape: false
    - command: /andprod
      url: https://[주소]/buildByToken/build?...
      description: 안드로이드 개발 빌드
      should_escape: false
oauth_config:
  scopes:
    bot:
      - files:write
      - chat:write
      - commands
settings:
  org_deploy_enabled: false
  socket_mode_enabled: false
  token_rotation_enabled: false

0개의 댓글