{"id":1760,"date":"2019-01-14T21:22:48","date_gmt":"2019-01-14T12:22:48","guid":{"rendered":"http:\/\/43.203.250.216\/?p=1760"},"modified":"2020-12-30T13:26:35","modified_gmt":"2020-12-30T04:26:35","slug":"travis-ci-%ec%84%a4%ec%a0%95%ea%b3%bc-docker-image-%ec%82%ac%ec%9a%a9","status":"publish","type":"post","link":"https:\/\/litcoder.com\/?p=1760","title":{"rendered":"Travis CI \uc124\uc815\uacfc docker image \uc0ac\uc6a9"},"content":{"rendered":"\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>GitHub project\uc5d0 CI\ub97c \ubd99\uc774\uace0 \uc2f6\uc740\ub370 Jenkins server\uac00 \ud68c\uc0ac firewall \uc548\uc5d0 \ub4e4\uc5b4 \uc788\uc5b4\uc11c GitHub\uc5d0\uc11c \uc9c1\uc811 webhook\uc744 \ubd99\uc77c \uc218 \uc5c6\ub294 \ubb38\uc81c\uac00 \uc788\ub2e4. Jenkins\uc758 GitHub plugin\uc73c\ub85c tunneling\uc744 \uc124\uc815\ud558\ub294 \ubc29\ubc95 \ub4f1 \uc788\uae30\ub294 \ud558\uc9c0\ub9cc \ub2e4\ub978 CI \uc635\uc158\ub4e4\uc744 \uc0b4\ud3b4 \ubcf4\ub358\uc911 Open source project\uc5d0 \ub300\ud574\uc11c\ub294 \ubb34\ub8cc\ub77c\ub294\u00a0<a href=\"https:\/\/travis-ci.org\">Travis CI<\/a>\uac00 \uc788\ub2e4\ub294 \uac83\uc744 \uc54c\uac8c \ub418\uc5c8\ub2e4. Travis CI\ub294 \uae30\ubcf8\uc73c\ub85c Ubuntu\ub97c \uc9c0\uc6d0\ud558\uace0 \uadf8 \uc678\uc758 \uacbd\uc6b0\ub294 docker\ub97c \uc0ac\uc6a9\ud574\uc11c \ud658\uacbd\uc744 \uc124\uc815\ud560 \uc218\ub3c4 \uc788\ub2e4. \uc774 \ud3ec\uc2a4\ud305\uc740 Travis CI\uc5d0\uc11c ClearLinux docker\ub97c \uc0ac\uc6a9\ud55c \uc124\uc815\uc5d0 \ub300\ud55c \uae30\ub85d\uc774\ub2e4.<\/p><\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\uc0bd\uc9c81: Travis CI\uc758 Ubuntu\uc774\uc6a9<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>\ube4c\ub4dc\uc640 Google test\ub97c \uc774\uc6a9\ud55c unit test\ub9cc \ud560 \uac83\uc774\ub2c8\uae4c OS\ub97c \ud06c\uac8c \ud0c0\uc9c0 \uc54a\uc744\ud14c\ub2c8 \uae30\ubcf8\uc73c\ub85c \uc81c\uacf5\ub418\ub294 Ubuntu \ud658\uacbd\uc5d0 \ud544\uc694\ud55c \ub3c4\uad6c\ub4e4\ub9cc \uc124\uce58 \ud558\uba74 \uac00\uc7a5 \ube60\ub974\uc9c0 \uc54a\uc744\uae4c?<\/p><\/blockquote>\n\n\n\n<p>\uc77c\uacac \ud0c0\ub2f9\ud574 \ubcf4\uc774\uae30\ub294 \ud558\uc9c0\ub9cc \ubb38\uc81c\ub294 \uc758\uc874\uc131\uc774\ub2e4. Pre-compile\ub41c Google test\ub97c download \ubc1b\ub294\ub2e4 \ud574\ub3c4, 2019\ub144 1\uc6d4 \ud604\uc7ac \uc544\uc9c1 Travis CI\uc5d0\uc11c \uc81c\uacf5\ud558\ub294 Ubuntu\uc758 \uac00\uc7a5 \ucd5c\uc2e0 \ubc84\uc804\uc740 Xenial\uc774\ub2e4. CMake version\uc774 \uc548\ub9de\uc544\uc11c \ucd5c\uc2e0\ubc84\uc804\uc73c\ub85c \uc124\uce58\ud558\uace0 Intel LibVA, Intel MediaSDK\ub4f1\uc758 \uc758\uc874 package\ub4e4\uc744 \ucef4\ud30c\uc77c\ud55c \ud6c4 \ube4c\ub4dc\ub97c \ud558\uace0 unittest\ub97c \ud558\ub3c4\ub85d \ud558\ub294\ub370 <strong>14\ubd84<\/strong>\uc774 \ub118\uac8c \uac78\ub838\ub2e4. \ub2e4\uc74c\uc740 \uc0ac\uc6a9\ud55c .travis.yml file\uc774\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\" data-enlighter-theme=\"eclipse\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"true\" data-enlighter-lineoffset=\"\" data-enlighter-title=\".travis.yml\" data-enlighter-group=\"\">language: cpp \n\ncompiler:  - gcc \n\ndist: xenial \n\nenv:   \n  global:    \n- EA_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}\/local    \n- PATH=${EA_INSTALL_PREFIX}\/bin:$PATH before_install:  \n- mkdir -p ${TRAVIS_BUILD_DIR}\/local  \n- sudo apt-get install curl wget autoconf libtool libdrm-dev \\\nlibboost-all-dev libgstreamer1.0-0 libasound-dev \\\nlibgles2-mesa-dev gstreamer1.0-plugins-base \\\ngstreamer1.0-plugins-good gstreamer1.0-plugins-bad \\\ngstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc \\\ngstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa \\\ngstreamer1.0-pulseaudio\n- cd ${TRAVIS_BUILD_DIR}&amp;&amp; \\\nwget https:\/\/github.com\/Kitware\/CMake\/releases\/download\/v3.13.2\\\n\/cmake-3.13.2.tar.gz \\\n&amp;&amp; tar xvf cmake-3.13.2.tar.gz&amp;&amp;cd cmake-3.13.2&amp;&amp;.\/configure --\\\nprefix=${EA_INSTALL_PREFIX}&amp;&amp;make&amp;&amp;make install  \n- cd ${TRAVIS_BUILD_DIR}&amp;&amp; \\\nwget https:\/\/github.com\/intel\/libva\/archive\/2.3.0.tar.gz&amp;&amp;\\\ntar xvf 2.3.0.tar.gz \\\n&amp;&amp;cd libva-2.3.0&amp;&amp;.\/autogen.sh&amp;&amp;.\/configure --\\\nprefix=${EA_INSTALL_PREFIX}&amp;&amp;make&amp;&amp;make install  \n- cd ${TRAVIS_BUILD_DIR}&amp;&amp; \\\nwget https:\/\/github.com\/Intel-Media-SDK\/MediaSDK\/archive\/\\\nintel-mediasdk-18.3.1.tar.gz \\\n&amp;&amp; tar xvf intel-mediasdk-18.3.1.tar.gz&amp;&amp;\\\ncd MediaSDK-intel-mediasdk-18.3.1\/&amp;&amp; \\\ncmake -DCMAKE_INSTALL_PREFIX=\/usr -DENABLE_OPENCL=OFF -DBUILD_SAMPLES=OFF .&amp;&amp;make&amp;&amp;\\\nmake install \n\nscript:  \n- cd ${TRAVIS_BUILD_DIR} &amp;&amp; \\\ncmake . &amp;&amp; make &amp;&amp; make install &amp;&amp; test\/ea_test<\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">\uc0bd\uc9c82: Clear Linux docker image \uc0ac\uc6a9\u00a0<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>\uc2dc\uac04\ub9cc \uc624\ub798 \uc548 \uac78\ub838\uc5b4\ub3c4 \uae30\ubcf8 Ubuntu OS\ub85c \uc5b4\ub5bb\uac8c\ub4e0 \ud574\ubcf4\ub294 \uac74\ub370, 14\ubd84\uc774\uba74 \uc2dc\uac04\uc774 \ub108\ubb34 \uc624\ub798 \uac78\ub9b0\ub2e4. \uc774\uc655 \uc2dc\uac04\uc774 \uc624\ub798 \uac78\ub9ac\ub294 \uac70\ub77c\uba74 \ud0c0\uac9f\uc778 Clear Linux docker image\ub97c \uc0ac\uc6a9\ud574\ubcf4\uc790.<\/p><\/blockquote>\n\n\n\n<p>Clear Linux docker image\ub97c \uc0dd\uc131\ud558\uae30 \uc704\ud55c dockerfile\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \uc791\uc131\ud574\uc900 \ub2e4\uc74c<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"dockerfile\" data-enlighter-theme=\"eclipse\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">FROM clearlinux\u2029\nRUN clrtrust generate\u2029\nRUN swupd bundle-add software-defined-cockpit-dev<\/pre>\n\n\n\n<p>.travis.yml file\uc744 \ub2e4\uc74c\uacfc \uac19\uc774 \uc120\uc5b8\ud574 \uc900\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\" data-enlighter-theme=\"eclipse\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">language: cpp\nservices:\n - docker\nbefore_install:\n - docker build -t clearlinux_ea .\n - docker run -d -v ${TRAVIS_BUILD_DIR}:\/src clearlinux_ea \/bin\/sh -c \"cd \/src;cmake .;make;make install\"\n\nscript:\t \t \n - docker run -d -v ${TRAVIS_BUILD_DIR}:\/src clearlinux_ea \/bin\/sh -c \"cd \/src;test\/ea_test\"<\/pre>\n\n\n\n<p><p>\ucd1d \uc18c\uc694\ub41c \uc2dc\uac04\uc740 <strong>17\ubd84 41\ucd08<\/strong> \uadf8 \uc911\uc5d0 docker \uc124\uc815\ud558\ub294\ub370 \uac78\ub9b0 \uc2dc\uac04\ub9cc <strong>16\ubd84<\/strong>\uc774 \ub118\ub294\ub2e4. \ub098\uba38\uc9c0 \uc2dc\uac04\uc5d0 unit test. \ub300\ubd80\ubd84\uc758 \uc2dc\uac04\uc774 docker\ub97c \ube4c\ub4dc \ud558\uace0 \uc124\uc815\ud558\ub294\ub370 \uc0ac\uc6a9 \ub418\uace0 \uc788\uc5c8\ub2e4.\u00a0<\/p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\uc0bd\uc9c83: \ub9cc\ub4e4\uc5b4 \ub454 Docker image \ub2e4\uc6b4\ub85c\ub4dc<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>\ube4c\ub4dc\ud558\ub294\ub370 \uc2dc\uac04\uc774 \uc624\ub798 \uac78\ub9b0\ub2e4\uba74 \uc774\ubbf8 \ub9cc\ub4e4\uc5b4 \ub454 docker image\ub97c \uc800\uc7a5\uc18c\uc5d0 \ub123\uc5b4\ub450\uace0 pull\ud574\uc11c \uc0ac\uc6a9\ud558\uba74 \uc880 \ube60\ub974\uc9c0 \uc54a\uc744\uae4c? Docker \ube4c\ub4dc vs Docker \ub2e4\uc6b4\ub85c\ub4dc.<\/p><\/blockquote>\n\n\n\n<p>\uc774\ubbf8 \ube4c\ub4dc \ud55c docker image\ub97c \uacf5\uac1c \uc800\uc7a5\uc18c\uc778 <a href=\"https:\/\/hub.docker.com\">docker hub<\/a>\uc5d0 \ub123\uc5b4\ub450\uace0 Travis CI\uc5d0\uc11c pull\ud558\ub3c4\ub85d \ubcc0\uacbd\ud558\uba74 \uc2dc\uac04\uc740 <strong>8\ubd84<\/strong>\uc815\ub3c4\ub85c \uc904\uc5b4\ub4e0\ub2e4.<\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"yaml\" data-enlighter-theme=\"eclipse\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">language: cpp\n\nservices:\n - docker\n\t\nbefore_install:\n - docker pull litcoder\/clearlinux_ea\n - docker run -v ${TRAVIS_BUILD_DIR}:\/src litcoder\/clearlinux_ea \/bin\/sh -c \"cd \/src;cmake .;make;make install;\"\n\t\nscript:\n - docker run -v ${TRAVIS_BUILD_DIR}:\/src litcoder\/clearlinux_ea \/bin\/sh -c \"cd \/src;test\/ea_test\"<\/pre>\n\n\n\n<p><p>\ud760.. \uc77c\ub2e8\uc740 \uc774\uac78\ub85c.<\/p><h2>\u00a0\uacb0\ub860<\/h2><p>Travis CI\uc5d0\uc11c \uc81c\uacf5\ub418\ub294 \uc5f0\uc0b0 \uc131\ub2a5\uc740 \ub9e4\uc6b0 \ub5a8\uc5b4\uc838\uc11c \ucef4\ud30c\uc77c\uc774\ub098 \ub3c4\ucee4 \ube4c\ub4dc\ub97c \ud6a8\uc728\uc801\uc73c\ub85c \uc218\ud589\ud558\uc9c0 \ubabb\ud55c\ub2e4. \ubc18\uba74, \uc774\ubbf8 \ub9cc\ub4e4\uc5b4\uc9c4 \uc774\ubbf8\uc9c0\uc758 \ub2e4\uc6b4\ub85c\ub4dc\ub294 \uc0c1\ub300\uc801\uc73c\ub85c \ube60\ub974\uac8c \uc218\ud589 \ud560 \uc218 \uc788\ub2e4. Travis CI\uc5d0\uc11c Docker\ub97c \uc774\uc6a9\ud55c \ud14c\uc2a4\ud2b8 \ud658\uacbd\uc744 \uad6c\uc131\ud558\uace0\uc790 \ud55c\ub2e4\uba74 \ubbf8\ub9ac \ub9cc\ub4e4\uc5b4 \ub454 \uc774\ubbf8\uc9c0\ub97c Docker Hub\uc5d0 \uc62c\ub824\ub450\uace0 CI script\uc5d0\uc11c pull \ud574\uc11c \uc0ac\uc6a9\ud558\ub294 \ubc29\ubc95\uc774 \uac00\uc7a5 \uace0\ub824\ud574 \ubcfc \ub9cc\ud55c \uc120\ud0dd\uc774\ub2e4.<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GitHub project\uc5d0 CI\ub97c \ubd99\uc774\uace0 \uc2f6\uc740\ub370 Jenkins server\uac00 \ud68c\uc0ac firewall \uc548\uc5d0 \ub4e4\uc5b4 \uc788\uc5b4\uc11c GitHub\uc5d0\uc11c \uc9c1\uc811 webhook\uc744 \ubd99\uc77c \uc218 \uc5c6\ub294 \ubb38\uc81c\uac00 \uc788\ub2e4. Jenkins\uc758 GitHub plugin\uc73c\ub85c tunneling\uc744 \uc124\uc815\ud558\ub294 \ubc29\ubc95 \ub4f1 \uc788\uae30\ub294 \ud558\uc9c0\ub9cc \ub2e4\ub978 CI \uc635\uc158\ub4e4\uc744 \uc0b4\ud3b4 \ubcf4\ub358\uc911 Open source project\uc5d0 \ub300\ud574\uc11c\ub294 \ubb34\ub8cc\ub77c\ub294\u00a0Travis CI\uac00 \uc788\ub2e4\ub294 \uac83\uc744 \uc54c\uac8c \ub418\uc5c8\ub2e4. Travis CI\ub294 \uae30\ubcf8\uc73c\ub85c Ubuntu\ub97c \uc9c0\uc6d0\ud558\uace0 \uadf8 \uc678\uc758 \uacbd\uc6b0\ub294 docker\ub97c \uc0ac\uc6a9\ud574\uc11c \ud658\uacbd\uc744 [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5,6],"tags":[27,36,54,72,133,134],"class_list":["post-1760","post","type-post","status-publish","format-standard","hentry","category-programming","category-tools","tag-clearlinux","tag-docker","tag-github","tag-linux","tag-travis","tag-travis-ci"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/1760","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1760"}],"version-history":[{"count":1,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/1760\/revisions"}],"predecessor-version":[{"id":2721,"href":"https:\/\/litcoder.com\/index.php?rest_route=\/wp\/v2\/posts\/1760\/revisions\/2721"}],"wp:attachment":[{"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1760"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1760"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/litcoder.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1760"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}