GitLab CI 之 Java HelloWrold

問題描述

測試人員想在gitalb上跑 JUnit項目,也就是java代碼。java

聽到這個以後,我當時都懵了,我他媽gitlab的runner是爲運行.net core 安裝的呀。後來一想,是我錯了,我用的是docker,跟什麼語言關係不大,只要有docker鏡像就好了。git

因而開啓了瘋狂學習java的兩小時。
這倆小時產出效率很高,大體作了這件事情,爲windows安裝java運行環境,安裝java 的IDE,熟悉IDE,熟悉java Helloworld的運行過程。寫一個CI的Demo。docker

說一下過程吧

建立java文件 HelloWorld.javawindows

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World");
    }
}

建立 .gitlab-ci.yml,好吧這是從網上抄的。bash

image: java:latest

stages:
  - build
  - execute

build:
  stage: build
  script: /usr/lib/jvm/java-8-openjdk-amd64/bin/javac HelloWorld.java
  artifacts:
    paths:
     - HelloWorld.*

execute:
  stage: execute
  script: /usr/lib/jvm/java-8-openjdk-amd64/bin/java HelloWorld

結果根本跑不通。
後來我想了一下,啓動一個java容器,而後進入容器裏看一看命令java,和javac能不能識別,以及路徑在哪裏。
啓動並進入容器 docker run -it testjava java bash
我試了一下,竟然javajavac均可以用。
因而對.gitlab-ci.yml進行了另外一番改裝jvm

image: java:latest

stages:
  - build
  - execute

build:
  stage: build
  script: javac HelloWorld.java

execute:
  stage: execute
  script: java HelloWorld

覺得終於結束了,結果是我錯了。
build 經過了

execute 失敗了
gitlab

因而進行了另外一番改裝。學習

image: java:latest

stages:
  - execute

before_script:
  - "javac HelloWorld.java "

execute:
  stage: execute
  script: " java HelloWorld "

終於結束了。
測試

相關文章
相關標籤/搜索