* wsl
# ssh 서비스 시작
sudo apt install openssh-server
sudo service ssh start
# repos 폴더 만든 후 이동
mkdir ~/repos && cd ~/repos
# git repository만 생성
git init --bare .
* git bash
# 깃을 관리할 폴더에서 .git 파일 만들기
ansgy@BOOK-2PPHMOTAAR MINGW64 /c/work_msa
$ git init
Initialized empty Git repository in C:/work_msa/.git/
# 깃 원격 연결
ansgy@BOOK-2PPHMOTAAR MINGW64 /c/work_msa (master)
$ git remote add origin ssh://hj@172.24.202.154://home/hj/repos
$ git remote add origin ssh://[계정명]@[서버 IP]:/home/[계정명]/[저장된 공간]
-> git remote add origin ssh://hj@172.24.202.154:/home/hj/repos
# git을 관리하는 폴더에 있는 내용들을 다 add
ansgy@BOOK-2PPHMOTAAR MINGW64 /c/work_msa (master)
$ git add .
warning: in the working copy of 'stock-service/.gitignore', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'stock-service/build.gradle', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'stock-service/gradle/wrapper/gradle-wrapper.properties', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'stock-service/gradlew', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'stock-service/settings.gradle', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'stock-service/src/main/java/com/lhs/stockservice/StockServiceApplication.java', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'stock-service/src/main/resources/application.properties', LF will be replaced by CRLF the next time Git touches it
warning: in the working copy of 'stock-service/src/test/java/com/lhs/stockservice/StockServiceApplicationTests.java', LF will be replaced by CRLF the next time Git touches it
# git commit
ansgy@BOOK-2PPHMOTAAR MINGW64 /c/work_msa (master)
$ git commit -m "stock-service"
[master (root-commit) 918f2b4] stock-service
19 files changed, 772 insertions(+)
create mode 100644 stock-service/.gitignore
create mode 100644 stock-service/build.gradle
create mode 100644 stock-service/gradle/wrapper/gradle-wrapper.jar
create mode 100644 stock-service/gradle/wrapper/gradle-wrapper.properties
create mode 100644 stock-service/gradlew
create mode 100644 stock-service/gradlew.bat
create mode 100644 stock-service/settings.gradle
create mode 100644 stock-service/src/main/java/com/lhs/stockservice/StockServiceApplication.java
create mode 100644 stock-service/src/main/java/com/lhs/stockservice/controller/StockController.java
create mode 100644 stock-service/src/main/java/com/lhs/stockservice/controller/dto/MasterResponseDto.java
create mode 100644 stock-service/src/main/java/com/lhs/stockservice/controller/dto/RequestDto.java
create mode 100644 stock-service/src/main/java/com/lhs/stockservice/controller/dto/StockDto.java
create mode 100644 stock-service/src/main/java/com/lhs/stockservice/domain/entity/IdDatePk.java
create mode 100644 stock-service/src/main/java/com/lhs/stockservice/domain/entity/Master.java
create mode 100644 stock-service/src/main/java/com/lhs/stockservice/domain/entity/Stock.java
create mode 100644 stock-service/src/main/java/com/lhs/stockservice/domain/repository/StockRepository.java
create mode 100644 stock-service/src/main/java/com/lhs/stockservice/service/StockService.java
create mode 100644 stock-service/src/main/resources/application.properties
create mode 100644 stock-service/src/test/java/com/lhs/stockservice/StockServiceApplicationTests.java
# git push
ansgy@BOOK-2PPHMOTAAR MINGW64 /c/work_msa (master)
$ git push origin master
Enumerating objects: 42, done.
Counting objects: 100% (42/42), done.
Delta compression using up to 16 threads
Compressing objects: 100% (30/30), done.
Writing objects: 100% (42/42), 67.14 KiB | 2.24 MiB/s, done.
Total 42 (delta 1), reused 0 (delta 0), pack-reused 0
To ssh://172.24.202.154://home/hj/repos
* [new branch] master -> master
# 공개키 복사
ssh-keygen -t rsa
ansgy@BOOK-2PPHMOTAAR MINGW64 /c/work_msa (master)
$ cd ~/.ssh
ansgy@BOOK-2PPHMOTAAR MINGW64 ~/.ssh
$ ls
id_rsa id_rsa.pub known_hosts known_hosts.old
ansgy@BOOK-2PPHMOTAAR MINGW64 ~/.ssh
$ dir
id_rsa id_rsa.pub known_hosts known_hosts.old
ansgy@BOOK-2PPHMOTAAR MINGW64 ~/.ssh
$ cat id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC660QT6Td5kq11KBtCkjbtJ31NzWssMsvfy1yKNf6fB9zKrlgFhW4W2DZjth71fWiUZ74BCrK24RR4q7MOnF8591F6MAWkqtqdD/MCi4rozuyojrOxggyC8e0NQste5lxW4UN9Ny+pqUw3PULho5IrkZfj8eRb8ZgnPLIkBL+ymMZ8vc75ZUb5wy9+NbsXxF/0o4ru0OIx2kSwSnkL8Iu1GZs3fvn2j0kcWDliQb5emJPYqgFphU+Aj0laT46DE10jV0Qt1i8wUK703IGKY+/eBzqMr1SPJcivTKoiwiqYTIzIe5C7i3F4rzBSNNwLZ8EKacJnqbkl3lqA8Z/AwQoC+Hl/H7bWoR85BTT3s0bs0re3lNMPv0tOQMyzMolo7PZHLqxLnm3fLC0rZaQ8mKCYEc1dm6cf7J24QNqbqOcyRDGocw9WgdY3rktlAby4lpnOZKDtei+1XRp6mYtzwFkhWkR2OV8J69bNmH018a69CGIX2SsKMUnE4fbz6bLHbB8= ansgy@BOOK-2PPHMOTAAR
* wsl
hj@BOOK-2PPHMOTAAR:~$ cd ~/.ssh
hj@BOOK-2PPHMOTAAR:~/.ssh$ vim authorized_keys
-> GitBash에서 cat id_rsa.pub을 실행했을 때 나온 키를 추가해준 후 저장
* wsl
# temp5 폴더 생성 및 이동
mkdir temp5/
cd temp5/
# Dockerfile 작성
hj@BOOK-2PPHMOTAAR:~/temp5$ vim Dockerfile
-> Dockerfile 내부(Vim), gradle 버전
FROM openjdk:11
LABEL maintainer="encore"
# install required packages
RUN apt-get update \
&& apt-get install -y --no-install-recommends git \
&& apt-get install -y --no-install-recommends ssh \
&& rm -rf /var/lib/apt/lists/
# make bitbucket as a known host
RUN mkdir -p -m 0600 /root/.ssh
ADD known_hosts /root/.ssh/known_hosts
# ADD SSH Key into Docker container
# local의 .ssh/id_rsa 파일을 Dockerfile과 동일한 디렉토리에 복사해놓자.
ADD id_rsa /root/.ssh/id_rsa
RUN git clone ssh://hj@172.24.202.154:/home/hj/repos/
WORKDIR repos/stock-service
RUN chmod 700 ./gradlew
RUN ./gradlew clean build -x test
RUN mv build/libs/stock-service-0.0.1-SNAPSHOT.jar /opt/app-in-image.jar
WORKDIR /opt
ENTRYPOINT [ "java", "-jar", "app-in-image.jar" ]
# 파일 복사
cp ~/.ssh/known_hosts ./
cp ~/.ssh/id_rsa ./
# ssh localhost( 암호키 복사 제대로 잘 됐는지 확인하기 위해 실행)
ssh localhost
hj@BOOK-2PPHMOTAAR:~/.ssh$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
id_rsa.pub(공개키)를 읽을 수 있도록 authorized_keys에 넣어줌(vim autorized_keys를 통해 키를 복붙한 것과 같은 것)
# 이미지 빌드
hj@BOOK-2PPHMOTAAR:~/temp5$ docker build -t restapi:1.0 .
[+] Building 77.1s (16/16) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 811B 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [internal] load metadata for docker.io/library/openjdk:11 1.2s
=> [ 1/11] FROM docker.io/library/openjdk:11@sha256:99bac5bf83633e3c7399aed725c8415 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 59B 0.0s
=> CACHED [ 2/11] RUN apt-get update && apt-get install -y --no-install-recommend 0.0s
=> CACHED [ 3/11] RUN mkdir -p -m 0600 /root/.ssh 0.0s
=> CACHED [ 4/11] ADD known_hosts /root/.ssh/known_hosts 0.0s
=> CACHED [ 5/11] ADD id_rsa /root/.ssh/id_rsa 0.0s
=> [ 6/11] RUN git clone ssh://hj@172.24.202.154:/home/hj/repos/ 0.5s
=> [ 7/11] WORKDIR repos/stock-service 0.0s
=> [ 8/11] RUN chmod 700 ./gradlew 0.6s
=> [ 9/11] RUN ./gradlew clean build -x test 72.7s
=> [10/11] RUN mv build/libs/stock-service-0.0.1-SNAPSHOT.jar /opt/app-in-image.jar 0.5s
=> [11/11] WORKDIR /opt 0.0s
=> exporting to image 1.5s
=> => exporting layers 1.5s
=> => writing image sha256:9b79dffc5cbfbcae211b02c73cdb06502a2d448bf1a1da38659f9187 0.0s
=> => naming to docker.io/library/restapi:1.0 0.0s