问题描述

测试人员想在gitalb上跑 JUnit项目,也就是java代码。

听到这个之后,我当时都懵了,我他妈gitlab的runner是为运行.net core 安装的呀。后来一想,是我错了,我用的是docker,跟什么语言关系不大,只要有docker镜像就行了。

于是开启了疯狂学习java的两小时。

这俩小时产出效率很高,大致做了这件事情,为windows安装java运行环境,安装java 的IDE,熟悉IDE,熟悉java Helloworld的运行过程。写一个CI的Demo。

说一下过程吧

创建java文件 HelloWorld.java

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

创建 .gitlab-ci.yml,好吧这是从网上抄的。

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进行了另一番改装

image: java:latest

stages:
- build
- execute build:
stage: build
script: javac HelloWorld.java execute:
stage: execute
script: java HelloWorld

以为终于结束了,结果是我错了。

build 通过了



execute 失败了

于是进行了另一番改装。

image: java:latest

stages:
- execute before_script:
- "javac HelloWorld.java " execute:
stage: execute
script: " java HelloWorld "

终于结束了。

GitLab CI 之 Java HelloWrold的更多相关文章

  1. 手把手详解持续集成之GitLab CI/CD

    一.环境准备 首先需要有一台 GitLab 服务器,然后需要有个项目:这里示例项目以 Spring Boot 项目为例,然后最好有一台专门用来 Build 的机器,实际生产中如果 Build 任务不频 ...

  2. Git Hooks、GitLab CI持续集成以及使用Jenkins实现自动化任务

    Git Hooks.GitLab CI持续集成以及使用Jenkins实现自动化任务 前言 在一个共享项目(或者说多人协同开发的项目)的开发过程中,为有效确保团队成员编码风格的统一,确保部署方式的统一, ...

  3. 【持续集成】GitLab CI + Docker 实现持续集成

    GitLab CI + Docker 实现持续集成 一.持续集成(Continuous Integration, CI)的基本概念 概述 在传统软件的开发中,代码的集成工作通常是在所有人都将工作完成后 ...

  4. Docker Gitlab CI 部署 Spring Boot 项目

    目前在学习这一块的内容,但是可能每个人环境都不同,导致找不到一篇博客能够完全操作下来没有错误的,所以自己也写一下,记录一下整个搭建的过程. Docker 的安装这里就不赘述了,基本上几行命令都可以了, ...

  5. Gitlab CI 集成 Kubernetes 集群部署 Spring Boot 项目

    在上一篇博客中,我们成功将 Gitlab CI 部署到了 Docker 中去,成功创建了 Gitlab CI Pipline 来执行 CI/CD 任务.那么这篇文章我们更进一步,将它集成到 K8s 集 ...

  6. GitLab CI/CD的官译【原】

    CI / CD方法简介 软件开发的持续集成基于自动执行脚本,以最大限度地减少在开发应用程序时引入错误的可能性.从新代码的开发到部署,它们需要较少的人为干预甚至根本不需要干预. 它涉及在每次小迭代中不断 ...

  7. GitLab CI/CD 配置

    GitLab CI/CD 配置 概念 持续集成的相关概念,可以看这篇文章 持续集成是什么? - 阮一峰的网络日志 操作示例 创建测试项目 sample-web,然后打开项目的 Runners 配置 找 ...

  8. GitLab CI构建SpringBoot-2.3应用

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. spring-boot 2.5.4,nacos 作为配置、服务发现中心,Cloud Native Buildpacks 打包镜像,GitLab CI/CD

    spring-boot 2.5.4,nacos 作为配置.服务发现中心,Cloud Native Buildpacks 打包镜像,GitLab CI/CD 本文主要介绍 Java 通过 Cloud N ...

随机推荐

  1. Django url反向解析与路由分发名称空间

    url反向解析 url.py from django.conf.urls import url from django.contrib import admin from app01 import v ...

  2. 判断真实ip

            #region 获取真实ip        /// <summary>        /// 获取真实ip        /// </summary>      ...

  3. ios之gcd

    看这里吧 http://www.jianshu.com/p/3a5a55e50e84

  4. react组件的创建

    最近项目接触react和rn,之前会一些vue和小程序,起初写react是很难受的,尤其是jsx的写法,不过2周过后感觉写起来有点舒服了... 目前react的组件一共有3种方式:React.crea ...

  5. 用过的sql 工具

    sequel pro 港优创新 php myadmin 腾讯

  6. java-appium-527 WebDriver协议&针对控件的操作

    1.WebDriver协议 https://www.w3.org/TR/webdriver/#list-of-endpoints 1.1查看当前所有的session情况 http://127.0.0. ...

  7. vSphere client 登陆ESXI主机“您无权登录次服务器”

    vCenter安装在虚拟机上,安装好后想调整下内存,直接把虚拟机关闭了电源,突然一想服务器都被我关了,还拿什么修改内存,完蛋! 突然想起,在使用vCenter之前,都是用vsphere client ...

  8. Linux常见英文报错中文翻译(菜鸟必知)

    Linux常见英文报错中文翻译(菜鸟必知) 1.command not found 命令没有找到 2.No such file or directory 没有这个文件或目录 3.Permission ...

  9. 管理oracle 11g RAC 常用命令

    1).检查集群状态: [grid@rac02 ~]$ crsctl check cluster CRS-4537: Cluster Ready Services is online CRS-4529: ...

  10. Python 实现双向链表(图解)

    原文:https://blog.csdn.net/qq490691606/article/details/49948263 git 路径 https://github.com/wangpanjun/d ...