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 "

终于结束了。
测试

相关文章
相关标签/搜索