我是靠谱客的博主 任性香水,最近开发中收集的这篇文章主要介绍apisix 2.13.1ubuntu deb 文件编译记录总结:,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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里的如下内容:

.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中,具体如下:

luarocks 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内容如下

ARG 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 2.13.1ubuntu deb 文件编译记录总结:所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部