如何在GitLab CI上构建AppImage

问题描述

我正在尝试使用Gitlab CI来构建AppImage,但是融合似乎在Ubuntu Docker映像中不可用。有什么方法可以在此Docker映像上或其他可用映像上构建AppImage,或者我需要自己制作一个

我的.gitlab-ci.yml

image: ubuntu:latest
debian packager:
    stage: build
    script:
        - ./installer.sh --make-deb
    artifacts:
        paths:
            - iicalc.deb
    only:
        - development
AppImage packager:
    stage: build
    script:
        - ./installer.sh --make-appImage
    artifacts:
        paths:
            - ImaginaryInfinity_Calculator-x86_64.AppImage
    only:
        - development

installer.sh中的相关部分:

ARCH=x86_64 ./appimagetool-x86_64.AppImage iicalc-appImage

管道运行时遇到的错误

dlopen(): error loading libfuse.so.2
AppImages require FUSE to run. 
You might still be able to extract the contents of this AppImage 
if you run it with the --appimage-extract option. 
See https://github.com/AppImage/AppImageKit/wiki/FUSE 
for more information

如果您想查看其他内容,请链接到存储库(AppImage相关的内容在开发分支中):https://gitlab.com/TurboWafflz/ImaginaryInfinity-Calculator

解决方法

您需要提取AppImage才能使用它。像这样:

sudo wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage -O /opt/appimagetool
sudo chmod +x /opt/appimagetool
cd /opt/; sudo /opt/appimagetool --appimage-extract
sudo mv /opt/squashfs-root /opt/appimagetool.AppDir
sudo ln -s /opt/appimagetool.AppDir/AppRun /usr/local/bin/appimagetool

更多信息,请访问:

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...