AWS Amplify Constore에서 CI를 위해 노력하는 이야기
AWS Amplify Console 지금은 CD(지속적 납품)를 위한 서비스로 보이지만 아래의 일은 이미 스스로 실시했다.
결실
적용 가능한 amplify입니다.다음은 우리가 제출한 ype와 샘플 응용 프로그램입니다.
어떤 응용 프로그램입니까?
CI 대상의 응용은 코그니토의 사용자 관리를 간단하게 실시할 수 있는 웹 서비스다.(Cognito는 사용자를 인정하거나 삭제하는 등 번거롭다) 아직 제작 중이지만 어느 정도 기능이 완비되어 있고 화면과 서버 측이 잘 설치되어 있기 때문에 이 CI를 드릴게요.
클라이언트는 Anglar7이고 서버는 Python 3입니다.7의 AWS Lambda로 구현됩니다.
Amplify Constore에서 단일 테스트 및 스크립트 테스트 수행
amplify.yml 편집이 관건이지만, 앰플리파이 컨놀러는 빌딩 기계를 마음대로 설치할 수 있기 때문에 다양한 장비를 설치해야 한다.
사전 준비
CI/CD를 설치하는 데 필요한 미흡한 점(작업과 자재를 줄이고 모든 처리가 preBuild에 포함됩니다.)
AWS 인증 설정
Serverless Framework에는 서버 쪽을 디버깅하는 메커니즘이 있지만 기본적으로 시험적으로 사용할 수 있는 권한이 준비되어 있지 않기 때문에 스스로 준비합니다.- mkdir -p ~/.aws
- echo "[${SLS_AWS_ACCOUNT_ID}]" > ~/.aws/credentials
- echo "aws_access_key_id = ${ACCESS_KEY}" >> ~/.aws/credentials
- echo "aws_secret_access_key = ${SECRET_KEY}" >> ~/.aws/credentials
unittest를 실행하기 위해 Python, Pip 설치
파이썬의 기본 창고는 3.4 시스템만 있습니까?그래서 그걸 설치해.또한 PyUnitittest를 설치하여 보고서를 HTML로 내보냅니다.- yum update python34 -y
- yum -y install python34
- python3 --version
- curl https://bootstrap.pypa.io/get-pip.py | python3
- pip3 -V
- pip3 install -r requirements_test.txt -t libs
- python3 tests/test_user_handler.py
PyUnitReport는 Requirements입니다.test.에 txt가 기재되어 있습니다.pyunitreport==0.1.4
Karate를 실행하기 위해 Java 및 Maven 설치
Karate는 마벤트,Gradle로 수행할 수 있고, 이번에는 마벤트로 수행할 수 있다.- yum install -y java-1.8.0-openjdk-devel.x86_64
- yum install -y apache-maven
Node.js의 Daemon을 위한 forever 설치
카라테를 ng e2e
명령으로 집행하려 하였으나, 품을 줄이고 재료를 줄여 실시ng serve
하여 내용을 데몬화할 수 있게 하였다.이 때문에 포에버라는 도구가 좋은 것 같아요.- npm install -g forever
각각 단일 테스트와 방안 테스트를 진행하다
여기까지만 준비됐으니 실제 단일 테스트와 시나리오 테스트를 실시해 보자.HTML 보고서로 그 결과를 출력하고 있기 때문에 S3의 특정한 통에 업로드합니다.
다음과 같이 설정합니다.# unittestによる単体試験とその結果のHTML出力、S3へのアップロード
- python3 tests/test_user_handler.py
- ls reports/html_report/ > file_path.txt
- aws s3 cp reports/html_report/`cat file_path.txt` s3://${REPORT_BUCKET}/index.html --profile=${SLS_AWS_ACCOUNT_ID}
:
:
# Karateによるシナリオ試験とその結果のHTML出力、S3へのアップロード
- mvn clean test
- ls target/
- cd target/surefire-reports/
- aws s3 cp ./ s3://${REPORT_BUCKET}/karate/ --recursive --profile=${SLS_AWS_ACCOUNT_ID}
- aws s3 cp ../karate.log s3://${REPORT_BUCKET}/karate/karate.log --profile=${SLS_AWS_ACCOUNT_ID}
S3에서 필요한 파일을 각각 출력했기 때문에 확인 후 테스트 결과를 순조롭게 출력했다.
PyUnitReport의 단일 테스트 결과
Karate 기반 시나리오 테스트 결과
총결산
AWS 앰플리파이 콘솔 자체는 CD 감각이 강한 서비스이지만 맞춤형 제작을 통해 CII 스타일도 구현할 수 있다.우선 앰플리파이 콘솔에 통과하는 물건 한 병을 지아이허브 위에 올려놓고 관심 있는 사람은 안에 있는 물건을 볼 수 있다.
Reference
이 문제에 관하여(AWS Amplify Constore에서 CI를 위해 노력하는 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kojiisd/items/50a394c365d9c98543f9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
CI 대상의 응용은 코그니토의 사용자 관리를 간단하게 실시할 수 있는 웹 서비스다.(Cognito는 사용자를 인정하거나 삭제하는 등 번거롭다) 아직 제작 중이지만 어느 정도 기능이 완비되어 있고 화면과 서버 측이 잘 설치되어 있기 때문에 이 CI를 드릴게요.
클라이언트는 Anglar7이고 서버는 Python 3입니다.7의 AWS Lambda로 구현됩니다.
Amplify Constore에서 단일 테스트 및 스크립트 테스트 수행
amplify.yml 편집이 관건이지만, 앰플리파이 컨놀러는 빌딩 기계를 마음대로 설치할 수 있기 때문에 다양한 장비를 설치해야 한다.
사전 준비
CI/CD를 설치하는 데 필요한 미흡한 점(작업과 자재를 줄이고 모든 처리가 preBuild에 포함됩니다.)
AWS 인증 설정
Serverless Framework에는 서버 쪽을 디버깅하는 메커니즘이 있지만 기본적으로 시험적으로 사용할 수 있는 권한이 준비되어 있지 않기 때문에 스스로 준비합니다.- mkdir -p ~/.aws
- echo "[${SLS_AWS_ACCOUNT_ID}]" > ~/.aws/credentials
- echo "aws_access_key_id = ${ACCESS_KEY}" >> ~/.aws/credentials
- echo "aws_secret_access_key = ${SECRET_KEY}" >> ~/.aws/credentials
unittest를 실행하기 위해 Python, Pip 설치
파이썬의 기본 창고는 3.4 시스템만 있습니까?그래서 그걸 설치해.또한 PyUnitittest를 설치하여 보고서를 HTML로 내보냅니다.- yum update python34 -y
- yum -y install python34
- python3 --version
- curl https://bootstrap.pypa.io/get-pip.py | python3
- pip3 -V
- pip3 install -r requirements_test.txt -t libs
- python3 tests/test_user_handler.py
PyUnitReport는 Requirements입니다.test.에 txt가 기재되어 있습니다.pyunitreport==0.1.4
Karate를 실행하기 위해 Java 및 Maven 설치
Karate는 마벤트,Gradle로 수행할 수 있고, 이번에는 마벤트로 수행할 수 있다.- yum install -y java-1.8.0-openjdk-devel.x86_64
- yum install -y apache-maven
Node.js의 Daemon을 위한 forever 설치
카라테를 ng e2e
명령으로 집행하려 하였으나, 품을 줄이고 재료를 줄여 실시ng serve
하여 내용을 데몬화할 수 있게 하였다.이 때문에 포에버라는 도구가 좋은 것 같아요.- npm install -g forever
각각 단일 테스트와 방안 테스트를 진행하다
여기까지만 준비됐으니 실제 단일 테스트와 시나리오 테스트를 실시해 보자.HTML 보고서로 그 결과를 출력하고 있기 때문에 S3의 특정한 통에 업로드합니다.
다음과 같이 설정합니다.# unittestによる単体試験とその結果のHTML出力、S3へのアップロード
- python3 tests/test_user_handler.py
- ls reports/html_report/ > file_path.txt
- aws s3 cp reports/html_report/`cat file_path.txt` s3://${REPORT_BUCKET}/index.html --profile=${SLS_AWS_ACCOUNT_ID}
:
:
# Karateによるシナリオ試験とその結果のHTML出力、S3へのアップロード
- mvn clean test
- ls target/
- cd target/surefire-reports/
- aws s3 cp ./ s3://${REPORT_BUCKET}/karate/ --recursive --profile=${SLS_AWS_ACCOUNT_ID}
- aws s3 cp ../karate.log s3://${REPORT_BUCKET}/karate/karate.log --profile=${SLS_AWS_ACCOUNT_ID}
S3에서 필요한 파일을 각각 출력했기 때문에 확인 후 테스트 결과를 순조롭게 출력했다.
PyUnitReport의 단일 테스트 결과
Karate 기반 시나리오 테스트 결과
총결산
AWS 앰플리파이 콘솔 자체는 CD 감각이 강한 서비스이지만 맞춤형 제작을 통해 CII 스타일도 구현할 수 있다.우선 앰플리파이 콘솔에 통과하는 물건 한 병을 지아이허브 위에 올려놓고 관심 있는 사람은 안에 있는 물건을 볼 수 있다.
Reference
이 문제에 관하여(AWS Amplify Constore에서 CI를 위해 노력하는 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kojiisd/items/50a394c365d9c98543f9
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
- mkdir -p ~/.aws
- echo "[${SLS_AWS_ACCOUNT_ID}]" > ~/.aws/credentials
- echo "aws_access_key_id = ${ACCESS_KEY}" >> ~/.aws/credentials
- echo "aws_secret_access_key = ${SECRET_KEY}" >> ~/.aws/credentials
- yum update python34 -y
- yum -y install python34
- python3 --version
- curl https://bootstrap.pypa.io/get-pip.py | python3
- pip3 -V
- pip3 install -r requirements_test.txt -t libs
- python3 tests/test_user_handler.py
pyunitreport==0.1.4
- yum install -y java-1.8.0-openjdk-devel.x86_64
- yum install -y apache-maven
ng serve
하여 내용을 데몬화할 수 있게 하였다.이 때문에 포에버라는 도구가 좋은 것 같아요.- npm install -g forever
각각 단일 테스트와 방안 테스트를 진행하다
여기까지만 준비됐으니 실제 단일 테스트와 시나리오 테스트를 실시해 보자.HTML 보고서로 그 결과를 출력하고 있기 때문에 S3의 특정한 통에 업로드합니다.
다음과 같이 설정합니다.# unittestによる単体試験とその結果のHTML出力、S3へのアップロード
- python3 tests/test_user_handler.py
- ls reports/html_report/ > file_path.txt
- aws s3 cp reports/html_report/`cat file_path.txt` s3://${REPORT_BUCKET}/index.html --profile=${SLS_AWS_ACCOUNT_ID}
:
:
# Karateによるシナリオ試験とその結果のHTML出力、S3へのアップロード
- mvn clean test
- ls target/
- cd target/surefire-reports/
- aws s3 cp ./ s3://${REPORT_BUCKET}/karate/ --recursive --profile=${SLS_AWS_ACCOUNT_ID}
- aws s3 cp ../karate.log s3://${REPORT_BUCKET}/karate/karate.log --profile=${SLS_AWS_ACCOUNT_ID}
S3에서 필요한 파일을 각각 출력했기 때문에 확인 후 테스트 결과를 순조롭게 출력했다.
PyUnitReport의 단일 테스트 결과
Karate 기반 시나리오 테스트 결과
총결산
AWS 앰플리파이 콘솔 자체는 CD 감각이 강한 서비스이지만 맞춤형 제작을 통해 CII 스타일도 구현할 수 있다.우선 앰플리파이 콘솔에 통과하는 물건 한 병을 지아이허브 위에 올려놓고 관심 있는 사람은 안에 있는 물건을 볼 수 있다.
# unittestによる単体試験とその結果のHTML出力、S3へのアップロード
- python3 tests/test_user_handler.py
- ls reports/html_report/ > file_path.txt
- aws s3 cp reports/html_report/`cat file_path.txt` s3://${REPORT_BUCKET}/index.html --profile=${SLS_AWS_ACCOUNT_ID}
:
:
# Karateによるシナリオ試験とその結果のHTML出力、S3へのアップロード
- mvn clean test
- ls target/
- cd target/surefire-reports/
- aws s3 cp ./ s3://${REPORT_BUCKET}/karate/ --recursive --profile=${SLS_AWS_ACCOUNT_ID}
- aws s3 cp ../karate.log s3://${REPORT_BUCKET}/karate/karate.log --profile=${SLS_AWS_ACCOUNT_ID}
AWS 앰플리파이 콘솔 자체는 CD 감각이 강한 서비스이지만 맞춤형 제작을 통해 CII 스타일도 구현할 수 있다.우선 앰플리파이 콘솔에 통과하는 물건 한 병을 지아이허브 위에 올려놓고 관심 있는 사람은 안에 있는 물건을 볼 수 있다.
Reference
이 문제에 관하여(AWS Amplify Constore에서 CI를 위해 노력하는 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kojiisd/items/50a394c365d9c98543f9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)