허쉬탱의 workspace

[Azure] Azure DevOps 실습 본문

Cloud/Azure

[Azure] Azure DevOps 실습

허쉬탱 2022. 6. 2. 10:06

[Azure] Azure DevOps 실습

https://dev.azure.com/kr-devops/devopskr/_wiki/wikis/devopskr.wiki/2/%EB%B6%80%EB%A1%9DB-AzureDevOps%EB%A5%BC-%ED%99%9C%EC%9A%A9%ED%95%9C-%EC%9E%90%EB%8F%99%ED%99%94-%EC%8B%A4%EC%8A%B5

 

Wiki

 

dev.azure.com

[핸즈온]

https://go.microsoft.com/fwlink/?LinkId=2014881&campaign=acom~azure~devops~services~main~hero&githubsi=true&clcid=0x409&WebUserId=61243aa6c5654eb0865f78e78775ee8c

 

Azure DevOps Services | 로그인

현재 사용자 환경에서 Microsoft Internet Explorer의 보안 강화 구성이 사용하도록 설정되어 있습니다. 이 보안 강화 수준으로 인해 웹 통합 환경이 정상적으로 표시되거나 작동할 수 없습니다. 작업을

app.vssps.visualstudio.com

[Azure DevOps 페이지]

ssh-keygen

ardent@DESKTOP-S0ENEOF:/mnt/c/ssh-key$ ssh-keygen -t rsa -f devopskrkeyfile
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in devopskrkeyfile
Your public key has been saved in devopskrkeyfile.pub
The key fingerprint is:
SHA256:sBX7maLWhU6S/6VEaEhkab+UiusOtEXI4DxvnZQQl2U ardent@DESKTOP-S0ENEOF
The key's randomart image is:
+---[RSA 3072]----+
|.  o..=E.        |
|oo .o+=  o       |
| +o .+o.o.       |
|  o.o..*++ o     |
|  .o.+=oS.*      |
| ..o. .O.+       |
|  o  .o + . .    |
|   ...   o o     |
|   oo     o      |
+----[SHA256]-----+

ardent@DESKTOP-S0ENEOF:/mnt/c/ssh-key$ ls
devopskrkeyfile  devopskrkeyfile.pub

ardent@DESKTOP-S0ENEOF:/mnt/c/ssh-key$ cat devopskrkeyfile.pub
# 나온 출력값 복사해놓기

 

DevOpsKoreaHOL Fork 해오기

https://github.com/SystemOutCoding/DevOpsKoreaHOL

 

GitHub - SystemOutCoding/DevOpsKoreaHOL: A repository for an Azure DevOps Hands-on-Lab with https://dev.azure.com/kr-devops/devo

A repository for an Azure DevOps Hands-on-Lab with https://dev.azure.com/kr-devops/devopskr - GitHub - SystemOutCoding/DevOpsKoreaHOL: A repository for an Azure DevOps Hands-on-Lab with https://dev...

github.com

 

Deploy keys

위에서 복사한 값 Key에 붙여넣고 Add key

 

Github.io 활성화

Source의 Branch는 gh-pages로 설정 후 Save / 파란 박스처럼 떠야 정상
파란 박스의 링크로 들어가면 위와 같은 사이트가 나타남

프로젝트 생성

프로젝트 생성

 

GitHub connections

Project settings
GitHub connections
GitHub 로그인
GitHub 연동 인증
Azure DevOps에 올릴 GitHub repository 선택 후 저장
연동된 것 확인 가능

 

Boards

Sprints
New Work Item
+ = New item, 네모친 넘버 = 티켓 넘버, 티켓 넘버는 뒤에서 사용 예정

 

Pipelines

Create Pipeline
YAML 파일 없이 Use the classic editor 선택 => GUI 제공
굉장히 많은 툴과 연동이 가능
search & Add를 통해서 왼쪽 아래 파란색 네모와 같이 세팅
dotnet test / Command => test로 변경 / Path to project(s) => generator 입력
Bash Script / Type => Inline

# Write your commands here
dotnet run -p generator/src/generator.csproj -- . "http://$(GITHUB_USERNAME).github.io/DevOpsKoreaHOL/" _site
./copy-assets.bash _site
# Use the environment variables input below to pass secret variables to this script

Known Hosts Entry 확인방법은 아래 참고 / SSH Public Key는 위에서 ssh-key 복사한 값 넣기 / SSH Passphrase는 SSH-Key 생성할 때 입력하지 않았으면 빈칸으로 해도 무방 / SSH Key는 SSH-Key 생성할 때 만들어진 키 파일 중 .pub가 붙지 않은 파일을 넣으면 됨

ardent@DESKTOP-S0ENEOF:/mnt/c/ssh-key$ ssh-keyscan github.com
# github.com:22 SSH-2.0-babeld-6f5dbedf (아랫 줄 값이 Known hosts entry)
github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
# github.com:22 SSH-2.0-babeld-6f5dbedf
github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
# github.com:22 SSH-2.0-babeld-6f5dbedf
github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
# github.com:22 SSH-2.0-babeld-6f5dbedf
# github.com:22 SSH-2.0-babeld-6f5dbedf

위의 명령어를 통해 Known Hosts Entry 값을 알 수 있다.

Bash Script / Type => Inline

git config --global user.name "DevOps CI"
git config --global user.email "devops@devops.kr"
echo -e "Host github.com\n\tStrictHostKeyChecking no\n" >> ~/.ssh/config
chmod 600 ~/.ssh/config
git clone -b gh-pages git@github.com:$(GITHUB_USERNAME)/DevOpsKoreaHOL.git gh-pages
echo "clone success"

 

# ssh-key는 600 권한이 아니면 실행안됨

Source Folder = _site / Target Folder = gh-pages / Advanced => Overwrite 체크
Bash Script / Type => Inline / 완료가 된 후 Save & queue => Save (queue=실행, 아직은 실행하면 에러 발생)
Triggers에서 Enable continuous integration 체크
Variables에서 GITHUB_USERNAME 변수 내용 추가 (Value = Github ID) / 저장
Pipelines 완료

 

Pipelines 정상 연동 테스트

이제 Board => Sprints 에 있는 Doing에 있는 DEV OPS 깃헙 연동 실습 TASK를 깃헙 Commit을 통해서 Done으로 이동이 되는지 확인 할 것이다.

티켓 넘버 = 8
깃헙에서 articles/index.md 파일을 위와 같이 내용 수정 후
AB#Number 를 통해 TASK를 완료시킬 수 있음
티켓넘버 8번 TASK가 자동으로 Done으로 이동한 것을 확인할 수 있다.
Pipelines에서 Runs 상태를 확인해보았다.
위와 같은 에러가 발생해서 찾아보니
다음과 같은 이유로 아래의 신청서를 작성해서 보내야됨

https://aka.ms/azpipelines-parallelism-request

 

Microsoft Forms

 

forms.office.com

2-3일 후에 결과를 마저 작성하겠다.

 

Dashboard

Sprints에 해야하는 일을 카드로 해놓으면

대쉬보드를 통해서 어떤 일을 해야하는지, 해당 프로젝트가 얼마나 진행되었는지 트래킹 가능

해당 프로젝트가 언제쯤 끝날 것인지까지 예측 가능

Comments