apisix 官方并没有提供deb文件,需要自己去编译,简单记录下编译过程
总结:
- Makefile 里面不清楚居于什么原因 有docker system prune -a -f ,不修改的话你所有的image可能都会消失,建议移除
- make 本质是通过3个docker build 实现deb文件输出
- 如果修改了或者clone了apisix ,需要修改对应的repo配置或者先下载好放到本地,使用local_code_path参数指定
- luarocks很容易失败,可以手动去多次下载,成功后保存起来后加装到dockerfile中
- 以上种种问题,在海外买个虚拟机可能都更容易解决
- deb文件在output目录下
repo指定
apisix_repo=“https://github.com/apache/apisix”
dashboard_repo=“https://github.com/apache/apisix-dashboard”
build apisix:
关注Makefile里的如下内容:
复制代码
1
2
3
4
5
6
7
8
9
10.PHONY: build-apisix-rpm build-apisix-rpm: ifeq ($(local_code_path), 0) git clone -b $(checkout) $(apisix_repo) ./apisix $(call build,apisix,apisix,rpm,"./apisix") rm -fr ./apisix else $(call build,apisix,apisix,rpm,$(local_code_path)) endif
luarocks
luarocks执行代码在install-common.sh中,具体如下:
复制代码
1
2luarocks make ./rockspec/apisix-master-${iteration}.rockspec --tree=/tmp/build/output/apisix/usr/local/apisix/deps --local
${iteration}值为零,可以添加–server https://luarocks.cn加速下载,但还会牵涉到github的很多访问,会有各种https错误,包括超时等等。
执行命令
make package type=deb app=apisix version=2.13.1 checkout=2.13.1 local_code_path=./apache-apisix-2.13.1-src
apache-apisix-2.13.1-src可以预先git下载
Dockerfile.apisix.deb
修改后的Dockerfile.apisix.deb内容如下
复制代码
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
31
32
33
34
35
36
37
38
39
40ARG IMAGE_BASE="ubuntu" ARG IMAGE_TAG="20.04" FROM ${IMAGE_BASE}:${IMAGE_TAG} COPY ./utils/install-common.sh /install-common.sh COPY ./utils/determine-dist.sh /determine-dist.sh COPY ./utils/sources.list /etc/apt/sources.list ARG iteration="0" ARG apisix_repo="https://github.com/apache/apisix" ARG checkout_v ARG IMAGE_BASE ARG IMAGE_TAG ARG CODE_PATH # install dependencies #RUN /install-common.sh install_apisix_dependencies_deb RUN /install-common.sh install_dependencies_deb RUN /install-common.sh install_openresty_deb RUN apt-get install -y unzip git sudo ENV LUAROCKS_SERVER=https://luarocks.cn ADD ./build /tmp/build RUN /install-common.sh install_luarocks #COPY ./utils/linux-install-luarocks.sh ./linux-install-luarocks.sh # #RUN ./linux-install-luarocks.sh ENV checkout_v=${checkout_v} ENV iteration=${iteration} ENV apisix_repo=${apisix_repo} ENV IMAGE_BASE=${IMAGE_BASE} ENV IMAGE_TAG=${IMAGE_TAG} COPY ${CODE_PATH} /apisix # install apisix # COPY ./apache-apisix-2.13.1-src /usr/local/apisix RUN /install-common.sh install_apisix # determine dist and write it into /tmp/dist file RUN /determine-dist.sh
build 为luarock 多次运行后保存的结果。
最后
以上就是任性香水最近收集整理的关于apisix 2.13.1ubuntu deb 文件编译记录总结:的全部内容,更多相关apisix内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复