gitlabrunner中构建时jar包拷贝过程

JavaScript047

gitlabrunner中构建时jar包拷贝过程,第1张

首先需要在宿主机安装好java环境

1、准备java环境

1.1. 下载安装openjdk-8

apt install openjdk-8-jdk

1

1

安装成功后,则查看java环境

java -version

1

1

jdk安装路径为:

/usr/lib/jvm/java-8-openjdk-amd64/

1

1

1.2. 配置环境变量

vi etc/profile

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

1

2

3

4

5

6

1

2

3

4

5

6

修改完了保存并退出,执行命令使配置生效:

source /etc/profile

1

1

这里理论上是不需要了,但我后面需要把jdk挂载到容器中,需要用到。

2、准备maven环境

2.1. 安装maven

这里我是拷贝了自己电脑上的maven和本地仓库到宿主机,如图:

在这里插入图片描述

当然需要重新配置maven的本地仓库的地址:

在这里插入图片描述

2.2. 配置maven环境变量

vim /etc/profile

1

1

追加配置信息,如下图所示:

在这里插入图片描述

修改完了保存并退出,执行命令使配置生效:

source /etc/profile

1

1

查看maven环境:

mvn -v

1

1

在这里插入图片描述

看到输出信息,说明宿主机的maven环境配置成功了

3、准备nodejs环境

3.1. 下载nodejs包

这里我使用的10.16.3的版本

wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz

1

1

3.2. 解压压缩包

tar xvf node-v10.16.3-linux-x64.tar.xz

1

1

3.3. 移动/重命名文件夹

修改名字并移动到usr/local/目录下

mv node-v10.16.3-linux-x64 nodejs

1

1

配置,需要创建软链接,以便全局使用

ln -s /usr/local/nodejs/bin/node /usr/bin/node

ln -s /usr/local/nodejs/bin/npm /usr/bin/npm

1

2

1

2

3.4. 完成检验

执行命令

node -v &&npm -v

1

1

如下图:

在这里插入图片描述

看到以上输出信息说明成功

4、gitlab-runner的安装

4.1. 拉取镜像&运行容器

docker run --name=gitlab-runner --restart=always --env=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin --env=DEBIAN_FRONTEND=noninteractive --volume=/srv/gitlab-runner/config:/etc/gitlab-runner:rw --volume=/var/run/docker.sock:/var/run/docker.sock:rw --volume=/usr/bin/docker:/usr/bin/docker:rw --volume=/usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib64/libltdl.so.7:rw --volume=/usr/lib/jvm/java-8-openjdk-amd64:/usr/lib/jvm/java-8-openjdk-amd64:rw --volume=/java_environment:/java_environment:rw --volume=/etc/profile:/etc/profile:rw --volume=/usr/local/nodejs:/usr/local/nodejs:rw --volume=/home/gitlab-runner --volume=/etc/gitlab-runner --restart=always --detach=true gitlab/gitlab-runner:latest run --user=root --working-directory=/home/gitlab-runner

1

1

4.2. docker run的参数说明

--restart=always

#Docker重启后该容器也为随之重启

-u root

#以root的身份去运行镜像(避免在容器中调用Docker命令没有权限)

#最好使用docker用户去运行

-v /usr/bin/docker:/usr/bin/docker

#将宿主机的docker命令挂载到容器中

#可以使用which docker命令查看具体位置

#或者把挂载的参数改为: -v $(which docker):/usr/bin/docker

-v /var/run/docker.sock:/var/run/docker.sock

#容器中的进程可以通过它与Docker守护进程进行通信

-v /usr/lib64/libltdl.so.7:/usr/lib/x86_64-linux-gnu/libltdl.so.7

#libltdl.so.7是Docker命令执行所依赖的函数库

#容器中library的默认目录是 /usr/lib/x86_64-linux-gnu/

#把宿主机的libltdl.so.7 函数库挂载到该目录即可

#可以通过whereis libltdl.so.7命令查看具体位置

#centos7位置/usr/lib64/libltdl.so.7

#ubuntu位置/usr/lib/x86_64-linux-gnu/libltdl.so.7

--volume=/etc/profile:/etc/profile:rw

#挂载了/etc/profile环境配置文件,用来使java和maven环境生效

--volume=/usr/lib/jvm/java-8-openjdk-amd64:/usr/lib/jvm/java-8-openjdk-amd64:rw

--volume=/java_environment:/java_environment:rw

--volume=/usr/local/nodejs:/usr/local/nodejs:rw

#挂载宿主机的java的配置文件路径,使用宿主机的java环境、maven环境和nodejs环境

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

新手,像我在学习go的时候发现使用go get去拉取依赖库的时候会很慢,有些甚至是根本拉取不到,网上有很多解决方案,设置代理,使用gopm。

gopm是类似于node.js的包管理工具,具体网上也有很多资料介绍;贴个链接:)

gopm介绍

但是gopm又要用go get去拉取,这不是 套娃 吗;

所以,还是一了百了,设置代理就好了;

Windows用cmd、powershell,Linux or Mac用Terminal执行下列:

Windows:

Linux or Mac:

这样你的go get就很快了;

我是个搞Java的Golang菜鸟,一起学习成长;

a .

注意点:index.js就是需要打包的文件打包之后的文件会放到dist目录中, 名称叫做main.js

b .

这句指令的含义是: 利用webpack将index.js和它依赖的模块打包到一个文件中

其实在webpack指令中除了可以通过命令行的方式告诉webpack需要打包哪个文件以外,

还可以通过配置文件的方式告诉webpack需要打包哪个文件

这句指令的含义是将webpack将index.js和他依赖的模块打包到一个文件中

其实webpack打包指令除了可以通知要打包哪些文件,还可以通过配置

2.2webpack常见配置

刚才是输入npx webpack index.js 那么现在就可以输入npx webpack了

如果想要使用其他指令,可以直接修改的 package.json 的scirpts

以后再打包的时候,就可以直接使用npm run test了;

当然,还可以看下devtool的取值,他生成的sourcemap映射表,对打包后的包的大小和打包速度有很大影响