Skip to content

Instantly share code, notes, and snippets.

View ihoneymon's full-sized avatar

Kim Ji-Heon ihoneymon

View GitHub Profile

[스프링부트] 빌드시 깃 커밋버전 정보 포함시키기

지금 개발하고 있는 애플리케이션은 깃 플로우git flow 를 이용해서 출시하고 있다. 출시할 때는 출시release 기능을 이용해서 master 브랜치에 태그를 생성하고 이를 배포하는 형태로 개발하고 있다.

애플리케이션을 사용하고 있는 필드가 늘어나고 있는데, 이 필드에 배포된 변경이력만으로는 어디까지 개발된 애플리케이션인지 알 수가 없다. 그러다가 스프링부트에서 Git commit information 를 빌드파일이 포함시킬 수 있는 부분을 확인한다. 빌드되는 시점에 깃 커민정보를 git.properties 에 저장하여 함께 배포하는 기능이다.

gradle-git-properties 사용절차

gradle-git-properties 플러그인 추가

20160315 WebJars 사용하기

얼마전까지 프로젝트에서 클라이언트에서 사용되는 웹 라이브러리(jquery, bootstrap) 등에 대한 관리를 제대로 하지 않았다. 화면 개발 및 적용을 다른이에게 맡기고 있었다가 고전적인 방식으로 웹 라이브러리 의존성을 그대로 프로젝트에 추가하여 버전관리시스템에 올라와있는 모습을 보게 되었다. 이렇게 프로젝트의 버전관리에 포함된 웹라이브러리는 버전이 업그레이드되면 버전을 업글하기가 쉽지 않다.

이런 상황을 타개할 수 있는 방법으로 WebJars 를 고려해보게 되었다.

http://www.webjars.org/

webjars 란 무엇인가?

Asciidoc 으로 전자책 쓰기 - SpringCamp 2016 LETS


개발자 다이어리

IDE 에서 생성한 rebel.xml 이 프로젝트와 맞지 않아서 제대로 되지 않았는데, 이를 해결할 수 있는 방법을 찾았다.

build.gradle 에 아래 스크립트를 추가하면 war 태스크가 실행될 때 war 의존성을 걸어둔 generateRebel 가 호출되면서 build/resources/main 아래에 reble.xml 이 생성된다. 프로젝트의 클래스패스와 웹경로의 항목들을 출력하는 특징을 가진다.

프로젝트에 war 플러그인이 선언되어 있어야 한다. war 태스크에 의존성을 걸어 후속처리하도록 만드니까.

Gulp

설정 및 설치

  • package.json 생성
{
  "name": "test-front-web",
  "version": "0.0.1.SNAPSHOT",
  "devDependencies": {
@ihoneymon
ihoneymon / flag_attributes.asc
Created August 25, 2017 14:26
오늘 안드로이드쪽에서 사용되는 기법 하나를 새로이 알게 되었다.
/**
* <a href="https://medium.com/@JakobUlbrich/flag-attributes-in-android-how-to-use-them-ac4ec8aee7d1">Flag Attributes in Android — How to Use Them</a>
* <code>
* attribute="option1|option2"
* </code>
*/
public class FlatAttributesTest {
private final static int TWO = 2;
private final static int FOUR = 4;
private final static int SIX = 6;
@ihoneymon
ihoneymon / bit_flag.asc
Last active August 25, 2017 14:52
오늘 안드로이드쪽에서 사용되는 기법 하나(`Bit flag`)를 새로이 알게 되었다.
@ihoneymon
ihoneymon / TestTemplate.java
Created September 20, 2017 01:18
@before, @after 를 제대로 활용하지 못해서 슬퍼...
import com.wirebarley.webservice.domain.Tx;
import com.wirebarley.webservice.domain.User;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runners.Parameterized;
import org.springframework.transaction.annotation.Transactional;
import java.util.Collection;
@ihoneymon
ihoneymon / kotlin-basic-syntax.asc
Created September 20, 2017 09:50
코틀린 Kotlin 하나식 사용해보기
/**
 * 패키지 정의하기
 * - 소스 상단에 정의한다
 */
package io.honeymon.kotlin.study.syntax

import java.util.*