윈도우에 패키지 설치를 편하게 Code
로 할 수 있게 해준다.
가상머신을 간단한 Vagrantfile
로 구성할 수 있게 도와준다.
터미널이 적용되어있는 파워쉘을 실행시켜야한다.
### 혹시 vscode가 설치 안되어있는 사람은 해당 명령어로 설치해준다.
choco install -y vscode
cd ~
mkdir vagrant # mkdir은 디렉토리를 만드는 명령어
cd vagrant # cd는 뒤에오는 디렉토리로 들어가는 명령어
mkdir cicd
cd cicd
code Vagrantfile # code는 비쥬얼스튜디오라는 편집기로 Vagrantfile이라는 파일을 만들어서 편집한다는 의미
Vagrant.configure("2") do |config|
# Define VM
config.vm.define "jenkins" do |ubuntu|
ubuntu.vm.box = "ubuntu/focal64"
ubuntu.vm.hostname = "jenkins"
ubuntu.vm.network "private_network", ip: "192.168.59.10"
ubuntu.vm.provider "virtualbox" do |vb|
vb.name = "jenkins"
vb.cpus = 2
vb.memory = 3000
end
end
config.vm.provision "shell", inline: <<-SHELL
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
sed -i 's/archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
sed -i 's/security.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
systemctl restart ssh
SHELL
end
위 내용을 아래 사진처럼 붙여넣고 Ctrl+S
를 눌러서 저장하고 X
눌러서 종료
vagrant up
이제 vagrant up
을 해서 가상머신을 실행한다.
vagrant status # 현재 가상머신의 상태를 보여준다.
vagrant ssh jenkins # jenkins라는 가상머신에 ssh접속을 한다는 의미
https://github.com/powerline/fonts/archive/refs/heads/master.zip
위 링크에서 폰트 패키지를 다운 받아주고 압축을 풀어주면
이런 목록을 볼 수 있는데
Meslo slashed
를 들어가서
이렇게 4
개를 드래그해서 엔터
눌러주고 전부다 설치
해주면된다.
파워쉘에서
아래로 화살표 모양
(^의 반대모양)을 누르고 설정
을 누른다
그리고 Windows PowerShell
에 들어가서 추가설정의 모양
을 누른다.
그러면 다음과같은 창이 나오는데
글꼴을 위 사진과같이 Meslo LG M for Powerline
으로 변경해주고
저장
해준다.
그리고 다시 터미널창으로 돌아오자.
sudo apt update # 패키지목록을 업데이트해야 패키지 설치가 가능하다. 우분투의 특징이다.
sudo apt install -y zsh # zsh을 설치한다.
sudo apt install -y curl
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
질문이 나오면, Y # 패키지를 설치하고 적용한다.
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
질문이 나오면, Y # 패키지를 설치하고 적용한다.
vi ~/.zshrc
ZSH_THEME
부분을 위 사진처럼 편집해준다.
i
를 눌러서 편집할 수 있다.
편집하고 저장하고 나가는건
:
w
q
그리고 터미널창에서..
exec zsh #설정 적용
위 명령어를 입력하면 아래와 같은 화면이 나오게된다.
### 오른쪽은 질문이고 왼쪽은 그에대한 답변이다
### 해당하는 영문 또는 숫자를 입력하면 바로 다음 질문으로 넘어가게 된다.
y #Does this look like a diamond (rotated square)?
n #Does this look like a lock?
n #Does this look like a lock?
3 #Prompt Style
1 #Character Set
2 #Show current time?
2 #Prompt Separators
1 #Prompt Heads
1 #Prompt Tails
2 #Prompt Height
2 #Prompt Connection
4 #Prompt Frame
2 #Connection & Frame Color
1 #Prompt Spacing
2 #Prompt Flow
y #Enable Transient Prompt?
1 #Instant Prompt Mode
y #Apply changes to ~/.zshrc?
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions
wget https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubectx
wget https://github.com/ahmetb/kubectx/releases/download/v0.9.4/kubens
sudo install kubectx /usr/local/bin
sudo install kubens /usr/local/bin
source ~/.zshrc
vi ~/.zshrc
### 아래와같이 plugins 부분을 편집해주고 저장
### 밑으로 찾다보면 발견할 수 있다.
# Standard plugins can be found in $ZSH/plugins/
# Custom plugins may be added to $ZSH_CUSTOM/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
git
zsh-autosuggestions
zsh-completions
docker
kubectl
)
source $ZSH/oh-my-zsh.sh
# User configuration
# export MANPATH="/usr/local/man:$MANPATH"
# You may need to manually set your language environment
source ~/.zshrc #앞서 했던 모든 설정을 적용시켜준다.
아래 명령어를 한 줄 한 줄 실행시키면 된다.
sudo apt install -y openjdk-11-jdk
curl -fsSL https://pkg.jenkins.io/debian-stable/jenkins.io.key | sudo tee \
/usr/share/keyrings/jenkins-keyring.asc > /dev/null
echo "deb [signed-by=/usr/share/keyrings/jenkins-keyring.asc] \
https://pkg.jenkins.io/debian-stable binary/" | sudo tee \
/etc/apt/sources.list.d/jenkins.list > /dev/null
sudo apt-get update
sudo apt-get install -y fontconfig jenkins
systemctl status jenkins
아래 메시지를 확인하고 빠져 나올 때는
ctrl
+c
를 누르면 된다.
vi .zshrc
Shift
+ g
를 누르면 맨 아랫단으로 이동할 수 있다. 아래 내용을 복사해서
JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64/
PATH=$PATH:$JAVA_HOME
아래 사진과 같이 편집해주고 저장해준다. esc
:wq
아래 명령어로 변경사항을 적용시켜준다.
source ~/.zshrc
### 크롬 주소창에
http://192.168.59.10:8080
이렇게 비밀번호를 입력하라는 창이 나오는데
아래 명령어를 통해 비밀번호를 얻을 수 있다.
sudo cat /var/lib/jenkins/secrets/initialAdminPassword
비밀번호를 입력하고 들어가면
여기서 Select plugins to install
을 클릭한다.
이것을 클릭하면 plugin을 custom해서 사용할 수 있게 된다.
그리고 아무것도 설정하지 않고 오른쪽 아래의 install
버튼을 클릭한다.
설치가 완료가 되면 다음과같이 알아서 설정해주고 Save and Continue
를 클릭해준다.
여기서도 Save and Finish
를 클릭 그리고 바로 Start using Jenkins
클릭
다음과 같은 화면이 출력되면 된다.
새로운 Item
클릭
이름은 원하는거 아무거나 쓰고
Freestyle project
클릭
아래에 OK
클릭
이런 페이지가 나올 것이다. 당황하지 말고 아래에서 Build
를 찾아서 Add build step
클릭하면
아래와 같이 나올 것이다. 여기서 Execute shell
클릭
echo "Hello My First Project" > /tmp/hello_first_project.txt
위의 문구를 복사해서 아래와 같이 붙여넣어준다.
아래 사진의 버튼에서 Apply
를 먼저 누르고 저장
을 누른다.
그리고
왼쪽 메뉴바에서 Build Now
를 누르면 Jenkins가 우리가 등록해놓은 명령어를 실행한다.
터미널 창에서 아래 명령어를 입력하면
cat /tmp/hello_first_project.txt
결과가 잘 나오는 것을 확인할 수 있다.
https://github.com/
위 링크에 들어가서 본인 Git 계정을 만들자.
https://github.com/c1t1d0s7/source-java-maven-hello-world
위 링크를 들어가서 오른쪽 상단의
Fork
를 누르고 내 레포지토리에 가져온다.
Fork를 하면 본인 계정이름/source-java-maven-hello-world
으로 된 레포지토리가 추가된 것을 확인할 수 있다.
가져온 내 레포지토리에서..
Code
를 누르고 SSH
를 누르면 다음과 같은 창이 나오는데
add a new public key
를 선택한다.
이런 창이 뜨게 되는데 Title
에는 원하는 이름을 적으면 되고 아래 Key
에는 퍼블릭키를 붙여넣으면 된다.
퍼블릭키를 받아오는 방법은 다음과 같다.
터미널창에서..
ssh-keygen #이후 그냥 엔터엔터엔터
sudo cat ~/.ssh/id_rsa.pub #출력값을 복사해서 붙여넣으면 된다.
붙여넣고 Add SSH key
클릭
다시 레포지토리로 돌아와서
Code
에 SSH
를 누르면 다음과 같이 바뀌어 있는 것을 확인할 수 있다.
터미널 창으로 돌아와서..
mkdir cicd
cd cicd
git clone <Fork한 리포지토리 주소를 복사해서 붙여넣는다>
###예를들면 아래와 같은 식이다 꼭 본인 레포지토리를 사용해야한다.
###아래 주소를 복사해서 넣으면 안된다.
git clone https://github.com/re-Push/source-java-maven-hello-world
###
다음과 같이 레포지토리를 불러온 것을 확인할 수 있다.
sudo apt install -y maven
cd ~/cicd/source-java-maven-hello-world
mvn package #이전에 빌드된 정보를 지워줌
mvn clean #자바코드를 빌드해서 WAR파일로 만들어준다.
터미널 창에서..
vi ~/.zshrc
아래 내용을 복사해서 맨 아래로 커서를 내려서
M2_HOME=/usr/share/maven
M2=$M2_HOME/bin
이렇게 붙여넣어주고
esc
:wq
해준다. 그리고 아래 명령어를 실행시켜준다.
source ~/.zshrc
Jenkins 웹페이지로 돌아가서 왼쪽 메뉴바를 보면
Jenkins 관리
를 클릭한다.
플러그인 관리
를 클릭한다.
설치가능
을 클릭한다.
오른쪽 상단에
Search
에 Maven
을 입력한다.
Maven Integration
의 왼쪽 체크박스를 클릭하고 아래로 스크롤을 내려보면서 찾아보면 Maven Invoker
가 있다. 이것 또한 왼쪽 체크박스를 클릭해서 활성화
시켜준다.
활성화 시켰으면 아래 사진처럼 가장 아래에 Install without restart
를 클릭한다.
스크롤 맨 아래로 내려서 기다려주면
설치를 완료한다.
이렇게 대시보드로 돌아오고 시작한다..
왼쪽 메뉴바에서 새로운 Item
을 클릭한다.
Maven project
가 새로 생긴것을 확인할 수 있다. 이름은 대충 test로 짓고 Maven project
를 클릭하고 OK
를 눌른다.
소스관리에서 Git
을 클릭해서 활성화
시켜준다.
Repository URL
이곳에 본인이 아까 Fork
한 깃허브의 레포지토리를 복사해서 붙여넣어준다.
나의 경우는 이렇다. 각자 다른 URL을 가지고 있을 것이다.
그리고 아래 사진부분의
master
를main
으로 바꿔준다.
그리고
위 사진과 같은 에러가 나오는 이유는 환경변수 설정을 통해 해결할 수 있다.
the tool configuration
링크를 클릭한다.
위 사진에서 add JDK
를 클릭한다.
NAME은 JAVA_HOME
으로 입력하고
해당 화면에서 Install automatically
를 클릭하면 아래 사진과 같이 바뀐다.
JAVA_HOME
에는 아래 입력값을 붙여넣어준다.
/usr/lib/jvm/java-11-openjdk-amd64/
그리고 아래로 스크롤을 내려서
똑같이 Install automatically
를 비활성화 시켜주고
아래 사진과 같이 설정해준다.
M2_HOME
/usr/share/maven
Apply
클릭 하고 Save
클릭
그리고 다시 대쉬보드로 들어가서
test
로 들어간다.
왼쪽 메뉴에서 구성
클릭
혹시나 저장이 안되어있다면 아까 적어놓았던 것들을 다시 채워넣자.
그리고 아까와 같은 오류메시지가 뜨지 않는 것을 확인할 수 있다.
그리고 Goals and options
항목에 clean package
를 입력하고
apply
하고 저장
을 누른다.
그리고
Build Now
를 클릭한다.그리고 Build History
에 해당 빌드넘버 우측 메뉴를 클릭해서 Console Outpout
을 클릭해서 보면
실행이 잘 되는 것을 확인할 수 있다.
그리고 실행결과 우리가 얻게되는 파일은
cd /var/lib/jenkins/workspace/test/webapp/target
ls
webapp.war
파일이다.
나중에 이 파일을 받아서 웹페이지를 구성할 수 있게된다.
터미널 창으로 돌아와서
exit
exit
위 명령어를 입력해서 나오고
code Vagrantfile
Vagrant.configure("2") do |config|
# Define VM
config.vm.define "jenkins" do |ubuntu|
ubuntu.vm.box = "ubuntu/focal64"
ubuntu.vm.hostname = "jenkins"
ubuntu.vm.network "private_network", ip: "192.168.59.10"
ubuntu.vm.provider "virtualbox" do |vb|
vb.name = "jenkins"
vb.cpus = 2
vb.memory = 3000
end
end
config.vm.define "tomcat" do |ubuntu|
ubuntu.vm.box = "ubuntu/focal64"
ubuntu.vm.hostname = "tomcat"
ubuntu.vm.network "private_network", ip: "192.168.59.11"
ubuntu.vm.provider "virtualbox" do |vb|
vb.name = "tomcat"
vb.cpus = 2
vb.memory = 2000
end
end
config.vm.provision "shell", inline: <<-SHELL
sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config
sed -i 's/archive.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
sed -i 's/security.ubuntu.com/mirror.kakao.com/g' /etc/apt/sources.list
systemctl restart ssh
SHELL
end
아래 사진과 같이 Vagrantfile을 수정한다.
Ctrl
+s
눌러서 저장하고 나온다.
터미널창에
vagrant up
vagrant status