Angular SPA 애플리케이션을 GitHub 페이지에 배치하고 GitHub 작업으로 CI/CD 구현
Do you want to build your first Angular App and deploy over cloud using GitHub Actions? How to deploy/publish Angular App to GitHub Pages automatically? Did you use GitHub Actions to build and deploy Angular App over GitHub Pages? Stay tuned in this article I will show you step by step from creating angular app to building and deploying using GitHub Actions.
우리 뭐 짓고 있어?
우리는 GitHub Pages에 각도 응용 프로그램을 구축하고 배치할 것이다.
각도 응용 프로그램 만들기
다음 스크립트를 실행하여 새angular 프로그램을 만듭니다.
ng new sample-app
Npm 패키지 설치
ng add angular-cli-ghpages
구축의 절차는 무엇입니까
GitHub 작업 작성
작업으로 GitHub 워크플로우를 만듭니다.이제 days GitHub actions runner 기본 설정
CI=true
을 참조하십시오.Learn more here …워크플로우 이름
name: Angular GitHub CI # 👈
주 분기의 트리거
main
branch가 새로운 추진을 받을 때 작업을 터치합니다.on:
push:
branches:
- main # 👈
노드 버전
ubuntu-latest
에서 여러 노드 버전을 실행합시다.jobs:
ci:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [10.x, 12.x]
# 👆
주의, 우리가 사용하는 것은 node10
와 node12
이다. 따라서 한 번에 두 개의 작업이 병행 운행되고, 한 작업은 10번 운행된다.x 및 1개용12.x
소스 코드 체크 아웃
코드부터 검사합시다.
steps:
- uses:
actions/checkout@v2
# 👆
노드 환경 설정
- name: Use Node.js $
- uses: actions/setup-node@v1
with:
node-version:
$
# 👆
GitHub 캐시 사용
GitHub 캐시를 사용하여 저장하십시오
node_modules
.Caching GitHub Workflow dependencies here에 대해 자세히 알아보십시오.더욱 진행한다
다음에 우리는 반드시 조건부로 노드 패키지를 설치해야 한다.Learn more here …
- name: Install Dependencies
if:
steps.cache-nodemodules.outputs.cache-hit != 'true'
# 👆 if cache hits the skip this step.
run: npm ci
건축 공사
프로젝트를 컴파일하기 위해 내장
production mode
을 실행합시다.우리는 -- --prod
를 통과해야만 실행할 수 있다ng build --prod
.- name: Build
run: npm run build -- --prod
임정 프로젝트
임정이 뛰라고.
- name: Lint
run: npm run lint
테스트 항목
생산 모드에서 테스트를 실행합시다.테스트를 실행할 때 다음을 확인해야 합니다.
"browsers": "ChromeHeadless"
와 "codeCoverage": true,
"sourceMap": false
“watch”: false
angular.json
파일에서 완료할 수 있습니다.파일 식별 항목 이름
angular.json
으로 이동합니다.projects.sample-app.architect.test
"configurations": {
"production": {
"sourceMap": false,
"codeCoverage": true,
"browsers": "ChromeHeadless",
"watch": false
}
},
그것은 보기에 다음과 같다. "test": {
"builder": "@angular-devkit/build-angular:karma",
"configurations": { 👈
"production": {
"sourceMap": false,
"codeCoverage": true,
"browsers": "ChromeHeadless",
"watch": false
}
},👈
"options": {
"main": "src/test.ts",
"polyfills": "src/polyfills.ts",
"tsConfig": "tsconfig.spec.json",
"karmaConfig": "karma.conf.js",
"assets": [
"src/favicon.ico",
"src/assets"
],
"styles": [
"src/styles.scss"
],
"scripts": []
}
},
main.yml
파일에 다음 스크립트를 추가합니다.구축 기계에서 운행할 때 상술한 생산 테스트 설정을 사용할 것이다.- name: Test
run: npm run test -- --prod
GitHub 워크플로우 트리거
이제 우리의 업무 절차를 볼 때가 되었다.계속해서 변경 사항을 GitHub로 밀어넣고 GitHub의 작업 탭을 확인합니다.
두 작업 모두 완료되었습니다.
전체 YAML 파일
GitHub 페이지에 Angular 애플리케이션 배포
다음 단계는 당신의 프로젝트가
CI
업무 아래의 모든 절차를 통과했다는 것을 알게 되면 됩니다.GitHub 페이지
GitHub 페이지는 무료이며, 정적 사이트를 위탁 관리할 수 있습니다.거기에 angular 프로그램을 배치하는 절차를 설명해 드리겠습니다.
Ng 배포 사용
ng deploy
는 Angular CLI 명령으로, GitHub 페이지에 Angular Application을 자동으로 배포하는 데 사용됩니다.ng deploy
를 실행할 때, 생성기를 실행해서 배치를 수행합니다.프로젝트 루트 디렉터리의 명령줄에서 스크립트
angular-cli-ghpages
를 실행하고 ng add angular-cli-ghpages
builder를 설치합니다.로컬 컴퓨터에서 GitHub 페이지로 배포
GitHub 페이지 서버에서는 정적 파일을 성공적으로 호스팅할 수 있도록
base-href
를 repository name
에 제공해야 합니다.GitHub 저장소 이름은 angular-ci-cd-with-github-actions
이므로 배포 스크립트는 다음과 같습니다. ng deploy --base-href=/angular-ci-cd-with-github-actions/
package.json
에 다음 스크립트 추가 "deploy": "ng deploy --base-href=/angular-ci-cd-with-github-actions/"
로컬 컴퓨터에서 deploy 명령을 실행하여 테스트할 수도 있습니다 npm run deploy
너의 응용 프로그램은 GitHubPage에서 실시간이다
GitHub 저장소 설정으로 이동하여 사이트가 게시되었음을 확인합니다.2-5분을 기다렸다가 프로그램을 찾아보세요.
GitHub 페이지에서 웹 사이트가 시작되어 실행되고 있음
Angular 어플리케이션을 배포하기 위한 GitHub 작업 업데이트
그런 다음 GitHub 페이지에 애플리케이션을 배포할 수 있도록 워크플로우를 업데이트합니다.다음 두 가지 절차는 우리가 앞의 절차를 통과할 때 실행할 것이다.
if: success()
또는 if: always()
를 지정하지 않는 한 if: failure()
는 항상 억제됩니다.따라서, 나는 단계에if조건을 추가하지 않았다.변경 로그 작성
저장소에 이름이
TOKEN_GITHUB_ACTION
인 비밀을 추가합니다.다음에 변경 로그를 Conventional ChangeLog Action 로 만들 것입니다.
- name: Conventional Changelog Action
id: changelog
uses: TriPSs/conventional-changelog-action@v3
with:
github-token: $
output-file: 'false'
GitHub 릴리스 작성
다음에 우리는 Conventional ChangeLog Action를 사용하여 우리의 환매 협의를 표시하고 GitHub 발행판을 만들 것이다.참고: 변경 사항이 없으면 게시가 작성되지 않습니다.
GitHub 페이지에 배포
마지막으로 GitHub 페이지에 애플리케이션을 배치합니다.
- name: Deploy
run: |
npm run deploy
YAML 완료, GitHub 페이지에 angular 응용 프로그램 배포
이것은 제 것입니다 final workflow:
이제 변경을 추진하면 워크플로가 트리거되고 CI/CD가 성공합니다.🆒!
몽땅 완성하다🎉 당신의 angular ci/cd를 무료로 드세요!내 거야 demo site live
제 글을 끝까지 읽어주셔서 감사합니다.나는 네가 오늘 약간의 특별한 것을 배웠으면 한다.만약 당신이 이 글을 좋아한다면, 당신의 친구에게 공유하고, 건의나 생각이 있으면, 댓글창에 쓰십시오.
풀 스택 개발자 되기💻
나는 Fullstack Master에서 가르친다.만약 당신이 소프트웨어 개발자가 되고 싶다면, 당신의 운영자를 새로운 소프트웨어 엔지니어나 수석 개발자/프로그래머로 발전시켜라.우리의 모든 개발 교육 계획을 구독하는 것을 고려하다.많은 프로그래밍 실습을 통해 Angular, RxJS, JavaScript, 시스템 구조 등을 배울 수 있습니다.저희는 매달 회원 계획을 가지고 있습니다. 귀하는 저희의 모든 동영상 수업, 슬라이드 쇼, 원본 코드 다운로드와 매달 동영상 통화를 무한히 방문할 수 있습니다.
Rupesh
월 1회 현장 질의응답 화상 통화를 통해 질문/질문을 던지고 도움말, 팁 및 팁을 얻을 수 있습니다.Your bright future is awaiting for you so visit today FullstackMaster and allow me to help you to board on your dream software company as a new Software Developer, Architect or Lead Engineer role.
💖 말하다👋 내놔!
루페시 티발리
설립자Fullstack Master
이메일: [email protected]
웹 사이트: www.rupeshtiwari.com|www.fullstackmaster.net
Reference
이 문제에 관하여(Angular SPA 애플리케이션을 GitHub 페이지에 배치하고 GitHub 작업으로 CI/CD 구현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rupeshtiwari/deploy-angular-spa-app-to-github-pages-implement-ci-cd-using-github-actions-33a2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)