<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>devjiwonchoi.log</title>
        <link>https://velog.io/</link>
        <description>Don't let the comment speak for your code.</description>
        <lastBuildDate>Wed, 23 Apr 2025 21:15:17 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <copyright>Copyright (C) 2019. devjiwonchoi.log. All rights reserved.</copyright>
        <atom:link href="https://v2.velog.io/rss/dev-jiwonchoi" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[테스트 작성 제목]]></title>
            <link>https://velog.io/@dev-jiwonchoi/%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%9E%91%EC%84%B1-%EC%A0%9C%EB%AA%A9</link>
            <guid>https://velog.io/@dev-jiwonchoi/%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%9E%91%EC%84%B1-%EC%A0%9C%EB%AA%A9</guid>
            <pubDate>Wed, 23 Apr 2025 21:15:17 GMT</pubDate>
            <description><![CDATA[<h1 id="이것도-타이틀-h1">이것도 타이틀? h1?</h1>
<h2 id="h2">h2?</h2>
]]></description>
        </item>
        <item>
            <title><![CDATA[Node.js 프로젝트 Dockerfile 작성하기]]></title>
            <link>https://velog.io/@dev-jiwonchoi/Node.js-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-Dockerfile-%EC%9E%91%EC%84%B1%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@dev-jiwonchoi/Node.js-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-Dockerfile-%EC%9E%91%EC%84%B1%ED%95%98%EA%B8%B0</guid>
            <pubDate>Mon, 24 Apr 2023 05:03:44 GMT</pubDate>
            <description><![CDATA[<p>간단한 express 앱을 작성 하겠습니다.
코드 작성은 <a href="https://github.com/features/copilot">Github Copilot</a>을 사용 하였습니다.
VS Code Github Copilot Extension 설치 및 활용 방법은 해당 포스트를 참고 해주세요.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/38b060a7-d15d-4a0d-ab32-be800af3f5bc/image.png" alt=""></p>
<pre><code>const express = require(&#39;express&#39;);
const app = express();

app.get(&#39;/api&#39;, (request: any, response: any) =&gt; {
  response.status(200).send(&#39;Hello World!&#39;);
});

app.listen(8000, () =&gt; {
  console.log(&#39;Running Server&#39;);
});
</code></pre><p>코드 스크린샷은 <a href="https://marketplace.visualstudio.com/items?itemName=adpyke.codesnap">CodeSnap</a>을 사용 하였습니다.
VS Code 필수 무료 Extensions 추천은 해당 포스트를 참고 해주세요.</p>
<p>package.json에 &quot;scripts&quot; 부분으로 설정할 수 있습니다.
이는 각자 프로젝트 상황에 맞는 scripts 설정을 권장 드립니다.
저는 패키지 매니저로 <a href="https://yarnpkg.com/">yarn</a>을 사용하고 있습니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/2f59866f-2028-4fd8-87a1-89c65af06cd0/image.png" alt=""></p>
<p>&quot;yarn dev&quot;로 localhost:8000에서 서버 접속이 되는걸 확인합니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/f98f194a-7973-4b15-9f10-9a995e878cbc/image.png" alt=""></p>
<p>이후 간단한 Dockerfile을 작성 하겠습니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/82768add-363b-4641-b41f-0a220f0d2865/image.png" alt=""></p>
<pre><code>FROM node:19.6.1-alpine

WORKDIR /

COPY package.json .

RUN yarn

COPY . .

RUN yarn build

EXPOSE 8000

CMD [&quot;yarn&quot;, &quot;start&quot;]</code></pre><p>자세한 Dockerfile 작성 요령은 해당 포스트를 참고 해주세요.</p>
<p>간단하게 해석하자면 다음과 같습니다.</p>
<ol>
<li>linux alpine 버전에 node.js 19.6.1 버전을 돌립니다.</li>
<li>현재 디렉토리에 있는 package.json을 복사하여 가져옵니다.</li>
<li>&quot;yarn (install)&quot;을 통해 필요한 패키지를 설치 합니다.</li>
<li>그외 나머지 파일들을 복사하여 가져옵니다.</li>
<li>&quot;yarn build&quot;를 통해 프로젝트를 빌드한 이후 포트 8000번을 열어줍니다.</li>
<li>&quot;yarn start&quot;로 빌드된 서버를 실행 합니다.</li>
</ol>
<p>Docker daemon이 돌아가고 있다는 가정하에 (Docker Desktop을 실행해도 무방합니다)
프로젝트 디렉토리에서 콘솔을 통해 도커 이미지 빌드 커맨드를 실행 합니다.</p>
<pre><code>docker build -t test-img .</code></pre><p>빌드 된 이미지를 확인합니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/5f6c3ca2-86fd-405c-ba80-e21734d63341/image.png" alt="">
(Docker Desktop)
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/a9bd9c83-2756-446a-9a5e-9343bc1e4727/image.png" alt=""></p>
<p>빌드 된 이미지를 로컬의 8000포트로 실행 합니다.</p>
<pre><code>docker run -p 8000:8000 --name test-app test-img</code></pre><p>(Docker Desktop)
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/c212ef90-5be4-4a63-9045-6fa4454d317a/image.png" alt=""></p>
<p>특별한 이상이 없다면 똑같이 서버가 실행 되는 것을 확인 할 수 있습니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/2e1303fd-64c5-4481-9f13-d4c23125ac81/image.png" alt=""></p>
<p>간단한 Express 서버 제작 및 scripts 작성, 도커파일 작성 및 도커의 기본적인 커맨드까지 알아 보았습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Elastic Beanstalk에 업로드 할 zip파일 생성하기]]></title>
            <link>https://velog.io/@dev-jiwonchoi/AWS-Elastic-Beanstalk%EC%97%90-%EC%97%85%EB%A1%9C%EB%93%9C-%ED%95%A0-zip%ED%8C%8C%EC%9D%BC-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@dev-jiwonchoi/AWS-Elastic-Beanstalk%EC%97%90-%EC%97%85%EB%A1%9C%EB%93%9C-%ED%95%A0-zip%ED%8C%8C%EC%9D%BC-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0</guid>
            <pubDate>Mon, 24 Apr 2023 03:12:10 GMT</pubDate>
            <description><![CDATA[<p>요구사항: git을 사용하는 프로젝트인 경우의 방법이 가장 수월합니다. 
또한 Github Actions를 통한 EB 앱 배포 자동화를 위해 git을 사용 하는 것을 권장 드립니다.
.
.
.
프로젝트 내 콘솔에 해당 커맨드를 입력 합니다.
여기서 myapp 부분을 원하시는 파일 명으로 입력 하시면 됩니다.
또한 경로 설정이 &quot;../&quot;(상위 디렉토리)로 되어 있으니, 원하시는 경로로 설정 하시면 됩니다.</p>
<pre><code>git archive -v -o ../myapp.zip --format=zip HEAD</code></pre><p>부연설명: git archive 커맨드를 활용함으로써, .gitignore 된 파일들과 .git 관련 파일들은 포함 되지 않습니다.</p>
<p>상위 폴더에 zip파일이 생성 된 것을 확인하면 성공입니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/4577113f-e762-4ff7-81c0-afff24943744/image.png" alt=""></p>
<p>출처: <a href="https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-sourcebundle.html">https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/applications-sourcebundle.html</a></p>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Elastic Beanstalk에 도커 기반 앱 배포하기]]></title>
            <link>https://velog.io/@dev-jiwonchoi/AWS-Elastic-Beanstalk%EC%97%90-%EB%8F%84%EC%BB%A4-%EA%B8%B0%EB%B0%98-%EC%95%B1-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@dev-jiwonchoi/AWS-Elastic-Beanstalk%EC%97%90-%EB%8F%84%EC%BB%A4-%EA%B8%B0%EB%B0%98-%EC%95%B1-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0</guid>
            <pubDate>Mon, 24 Apr 2023 02:56:01 GMT</pubDate>
            <description><![CDATA[<p><strong>EB에 도커 환경으로 배포하는 방법은 해당 <a href="https://velog.io/@dev-jiwonchoi/AWS-Elastic-Beanstalk%EC%97%90-%EB%8F%84%EC%BB%A4-%ED%99%98%EA%B2%BD%EC%9C%BC%EB%A1%9C-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0">포스트</a>를 참고 해주세요.</strong></p>
<p>Upload and deploy를 선택 합니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/c04c0204-aae4-4773-9a09-b0b8b81961a3/image.png" alt="">
Choose file을 선택한 뒤, 배포할 앱의 zip 파일을 업로드합니다.</p>
<p><strong>EB 업로드용 권장되는 zip파일 생성 방법은 해당 <a href="https://velog.io/@dev-jiwonchoi/AWS-Elastic-Beanstalk%EC%97%90-%EC%97%85%EB%A1%9C%EB%93%9C-%ED%95%A0-zip%ED%8C%8C%EC%9D%BC-%EC%83%9D%EC%84%B1%ED%95%98%EA%B8%B0">포스트</a>를 참고 해주세요.</strong>
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/5f466c87-8498-4dd0-8192-b6f74b9b3102/image.png" alt="">
원하는 파일이 업로드 되었는지 확인한 뒤, Deploy를 선택 합니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/ee62f43b-e88c-4b96-8c2b-24e0e73d7e02/image.png" alt="">
앱의 규모에 따라 약 5분 정도 기다리면 됩니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/95b79937-2725-45dc-aa71-9ba21d77fd96/image.png" alt="">
하단 이벤트 로그 또한 이상 없으면 성공적으로 업로드가 된 것을 확인 할 수 있습니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/356ab7ee-3fa8-42a3-b0b0-1594f6d541e8/image.png" alt=""></p>
<p>다음 시간에는 EB의 로드 밸런서를 설정 하겠습니다.</p>
]]></description>
        </item>
        <item>
            <title><![CDATA[AWS Elastic Beanstalk에 도커 환경으로 배포하기]]></title>
            <link>https://velog.io/@dev-jiwonchoi/AWS-Elastic-Beanstalk%EC%97%90-%EB%8F%84%EC%BB%A4-%ED%99%98%EA%B2%BD%EC%9C%BC%EB%A1%9C-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0</link>
            <guid>https://velog.io/@dev-jiwonchoi/AWS-Elastic-Beanstalk%EC%97%90-%EB%8F%84%EC%BB%A4-%ED%99%98%EA%B2%BD%EC%9C%BC%EB%A1%9C-%EB%B0%B0%ED%8F%AC%ED%95%98%EA%B8%B0</guid>
            <pubDate>Mon, 24 Apr 2023 02:23:18 GMT</pubDate>
            <description><![CDATA[<p>AWS 콘솔을 통해 Elastic Beanstalk를 선택 합니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/fb3839a7-abd7-4d7a-b16e-5066d4818a4d/image.png" alt="">
우측 상단의 Create Application을 선택 합니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/97f516a9-9f79-4fce-a9f5-55ad62c0d5c9/image.png" alt="">
Platform으로 도커를 선택 합니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/b03ce500-b73e-4f98-ba21-7df0ca55fed7/image.png" alt="">
Create application을 누르면 기본 샘플 앱을 포함한 도커 환경이 만들어집니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/800dd9ae-7103-4301-92da-348644f5f893/image.png" alt="">
대략 5분 정도 기다리면 해당 콘솔 화면을 확인 할 수 있습니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/7eaf4ebf-c0fa-4020-a976-19ebf122cc78/image.png" alt="">
해당 링크를 클릭하여
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/f405a117-731d-41ad-812f-3b2cd209a2c4/image.png" alt="">
샘플 앱이 뜬걸 확인하면 성공입니다.
<img src="https://velog.velcdn.com/images/dev-jiwonchoi/post/cdf86302-5a82-4a7a-a3cc-b2150ac71d28/image.png" alt=""></p>
<p>다음 시간에는 여러분이 제작한 앱을 도커파일을 통해 띄워 보겠습니다, 감사합니다.</p>
]]></description>
        </item>
    </channel>
</rss>