.gitlab-ci.yml 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. image: golang:alpine
  2. before_script:
  3. - apk update
  4. - apk --no-cache --no-progress add --virtual build-deps build-base git linux-pam-dev
  5. stages:
  6. - build
  7. - prepare
  8. - test
  9. - clean
  10. - commands
  11. - image-test
  12. - pre-test-source
  13. - deploy
  14. Build:
  15. image: golang:alpine
  16. stage: build
  17. script:
  18. - mkdir -p $GOPATH/src/gitote
  19. - cd $GOPATH/src/gitote
  20. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  21. - cd gitote
  22. - make build
  23. Build Dev:
  24. image: golang:alpine
  25. stage: build
  26. script:
  27. - mkdir -p $GOPATH/src/gitote
  28. - cd $GOPATH/src/gitote
  29. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  30. - cd gitote
  31. - make build-dev
  32. Build Dev Race:
  33. image: golang:latest
  34. before_script:
  35. - apt-get update -qq
  36. - apt-get install -y libpam-dev zip unzip
  37. stage: build
  38. script:
  39. - mkdir -p $GOPATH/src/gitote
  40. - cd $GOPATH/src/gitote
  41. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  42. - cd gitote
  43. - make build-dev-race
  44. Build Prod:
  45. image: golang:latest
  46. before_script:
  47. - apt-get update -qq
  48. - apt-get install -y libpam-dev zip unzip
  49. stage: build
  50. script:
  51. - mkdir -p $GOPATH/src/gitote
  52. - cd $GOPATH/src/gitote
  53. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  54. - cd gitote
  55. - wget https://gitlab.com/gitote/bindata/raw/master/go-bindata
  56. - make bindata
  57. - make build
  58. Docker Build:
  59. image: docker:latest
  60. stage: build
  61. services:
  62. - docker:dind
  63. script:
  64. - mkdir -p $GOPATH/src/gitote
  65. - cd $GOPATH/src/gitote
  66. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  67. - cd gitote
  68. - docker build -t gitote .
  69. Compile LESS:
  70. image: golang:alpine
  71. stage: prepare
  72. script:
  73. - mkdir -p $GOPATH/src/gitote
  74. - cd $GOPATH/src/gitote
  75. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  76. - cd gitote
  77. - make less
  78. Bindata:
  79. image: golang:alpine
  80. stage: prepare
  81. script:
  82. - mkdir -p $GOPATH/src/gitote
  83. - cd $GOPATH/src/gitote
  84. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  85. - cd gitote
  86. - wget https://gitlab.com/gitote/bindata/raw/master/go-bindata
  87. - make bindata
  88. Test:
  89. image: golang:latest
  90. before_script:
  91. - apt-get update -qq
  92. - apt-get install -y libpam-dev zip unzip
  93. stage: test
  94. script:
  95. - mkdir -p $GOPATH/src/gitote
  96. - cd $GOPATH/src/gitote
  97. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  98. - cd gitote
  99. - go test -v -cover -race ./...
  100. Go LOC:
  101. image: golang:alpine
  102. stage: test
  103. script:
  104. - mkdir -p $GOPATH/src/gitote
  105. - cd $GOPATH/src/gitote
  106. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  107. - cd gitote
  108. - go get -u github.com/hhatto/gocloc/cmd/gocloc
  109. - gocloc .
  110. Clean:
  111. image: golang:alpine
  112. stage: clean
  113. script:
  114. - mkdir -p $GOPATH/src/gitote
  115. - cd $GOPATH/src/gitote
  116. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  117. - cd gitote
  118. - make clean
  119. Admin:
  120. image: golang:alpine
  121. stage: commands
  122. script:
  123. - mkdir -p $GOPATH/src/gitote
  124. - cd $GOPATH/src/gitote
  125. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  126. - cd gitote
  127. - go build
  128. - ./gitote admin
  129. Hook:
  130. image: golang:alpine
  131. stage: commands
  132. script:
  133. - mkdir -p $GOPATH/src/gitote
  134. - cd $GOPATH/src/gitote
  135. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  136. - cd gitote
  137. - go build
  138. - ./gitote hook
  139. Import:
  140. image: golang:alpine
  141. stage: commands
  142. script:
  143. - mkdir -p $GOPATH/src/gitote
  144. - cd $GOPATH/src/gitote
  145. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  146. - cd gitote
  147. - go build
  148. - ./gitote import
  149. Cert:
  150. image: golang:alpine
  151. stage: commands
  152. script:
  153. - mkdir -p $GOPATH/src/gitote
  154. - cd $GOPATH/src/gitote
  155. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  156. - cd gitote
  157. - go build
  158. - ./gitote cert --help
  159. Serv:
  160. image: golang:alpine
  161. stage: commands
  162. script:
  163. - mkdir -p $GOPATH/src/gitote
  164. - cd $GOPATH/src/gitote
  165. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  166. - cd gitote
  167. - go build
  168. - ./gitote serv --help
  169. Running:
  170. image: golang:alpine
  171. stage: pre-test-source
  172. script:
  173. - mkdir -p $GOPATH/src/gitote
  174. - cd $GOPATH/src/gitote
  175. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  176. - cd gitote
  177. - go build
  178. - ./gitote web & sleep 20 ; kill $! || echo $?
  179. Deploy Beta:
  180. image: golang:latest
  181. before_script:
  182. - apt-get update -qq
  183. - apt-get install -y sshpass
  184. stage: deploy
  185. script:
  186. - mkdir -p $GOPATH/src/gitote
  187. - cd $GOPATH/src/gitote
  188. - git clone https://gitlab.com/$CI_PROJECT_PATH.git
  189. - echo "Soon"
  190. - echo "Deploying to beta server"
  191. - sshpass
  192. - export SSHPASS=$USER_PASS
  193. #- sshpass -e scp -o stricthostkeychecking=no -r . root@142.93.212.225:go/src/gitote/gitote
  194. only:
  195. - master