preparing mardown file handling in Dockerfiles + refactoring build directory

This commit is contained in:
Julien Neuhart
2018-04-10 13:26:23 +02:00
parent bca02f6198
commit 3860c151de
10 changed files with 58 additions and 8 deletions

View File

@@ -17,6 +17,17 @@ RUN echo "deb http://httpredir.debian.org/debian/ stretch main contrib non-free"
ln -s /usr/bin/pdftk /usr/local/bin/pdftk &&\
ln -s /usr/bin/unoconv /usr/local/bin/unoconv
RUN apt-get install -y curl gnupg &&\
curl -sL https://deb.nodesource.com/setup_8.x | bash - &&\
apt-get update &&\
apt-get install -y nodejs
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - &&\
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list &&\
apt-get update &&\
apt-get install -y yarn bzip2 &&\
yarn global add markdown-pdf --prefix /usr/local
# |--------------------------------------------------------------------------
# | Gotenberg
# |--------------------------------------------------------------------------
@@ -41,11 +52,11 @@ RUN go get -d -v ./...
ENTRYPOINT [".ci/docker-entrypoint.sh"]
{{- else }}
COPY .build/gotenberg /usr/bin/gotenberg
COPY .ci/gotenberg /usr/bin/gotenberg
RUN ln -s /usr/bin/gotenberg /usr/local/bin/gotenberg
WORKDIR /gotenberg
COPY .build/gotenberg.yml /gotenberg/gotenberg.yml
COPY .ci/gotenberg.yml /gotenberg/gotenberg.yml
EXPOSE 3000
CMD ["gotenberg"]

Binary file not shown.

View File

@@ -22,7 +22,7 @@ else
fi
# Builds the Linux binary.
env GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags "-X main.version=${VERSION}" && mv gotenberg .build/;
env GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -ldflags "-X main.version=${VERSION}" && mv gotenberg .ci/;
# Bye!
exit 0;

1
.gitignore vendored
View File

@@ -1,3 +1,4 @@
.DS_Store
.ci/coverage.txt
.ci/gotenberg
.vscode

View File

@@ -17,6 +17,17 @@ RUN echo "deb http://httpredir.debian.org/debian/ stretch main contrib non-free"
ln -s /usr/bin/pdftk /usr/local/bin/pdftk &&\
ln -s /usr/bin/unoconv /usr/local/bin/unoconv
RUN apt-get install -y curl gnupg &&\
curl -sL https://deb.nodesource.com/setup_8.x | bash - &&\
apt-get update &&\
apt-get install -y nodejs
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - &&\
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list &&\
apt-get update &&\
apt-get install -y yarn bzip2 &&\
yarn global add markdown-pdf --prefix /usr/local
# |--------------------------------------------------------------------------
# | Gotenberg
# |--------------------------------------------------------------------------
@@ -24,11 +35,11 @@ RUN echo "deb http://httpredir.debian.org/debian/ stretch main contrib non-free"
# | All Gotenberg related stuff.
# |
COPY .build/gotenberg /usr/bin/gotenberg
COPY .ci/gotenberg /usr/bin/gotenberg
RUN ln -s /usr/bin/gotenberg /usr/local/bin/gotenberg
WORKDIR /gotenberg
COPY .build/gotenberg.yml /gotenberg/gotenberg.yml
COPY .ci/gotenberg.yml /gotenberg/gotenberg.yml
EXPOSE 3000
CMD ["gotenberg"]

View File

@@ -17,6 +17,17 @@ RUN echo "deb http://httpredir.debian.org/debian/ stretch main contrib non-free"
ln -s /usr/bin/pdftk /usr/local/bin/pdftk &&\
ln -s /usr/bin/unoconv /usr/local/bin/unoconv
RUN apt-get install -y curl gnupg &&\
curl -sL https://deb.nodesource.com/setup_8.x | bash - &&\
apt-get update &&\
apt-get install -y nodejs
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - &&\
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list &&\
apt-get update &&\
apt-get install -y yarn bzip2 &&\
yarn global add markdown-pdf --prefix /usr/local
# |--------------------------------------------------------------------------
# | Gotenberg
# |--------------------------------------------------------------------------

View File

@@ -34,6 +34,7 @@ const (
// filesTypes associates a file extension with its file kind counterpart.
var filesTypes = map[string]Type{
".pdf": PDFType,
".htm": HTMLType,
".html": HTMLType,
".doc": OfficeType,
".docx": OfficeType,

View File

@@ -114,11 +114,26 @@ func TestConvertHandler(t *testing.T) {
t.Errorf("Handler returned a wrong status code: got %v want %v", status, http.StatusInternalServerError)
}
// case 4: sends a request with two files.
// case 3: sends two requests (almost) simultany.
path, _ = filepath.Abs("../_tests/configurations/gotenberg.yml")
appConfig, _ = config.NewAppConfig(path)
process.Load(appConfig.CommandsConfig)
/*sum := 0
for sum < 2 {
go func() {
path, _ := filepath.Abs("../_tests/file.docx")
req := makeRequest(path)
rr := httptest.NewRecorder()
h.ServeHTTP(rr, req)
if status := rr.Code; status != http.StatusInternalServerError {
t.Errorf("Handler returned a wrong status code: got %v want %v", status, http.StatusInternalServerError)
}
}()
sum++
}*/
// case 4: sends a request with two files.
oPath, _ = filepath.Abs("../_tests/file.docx")
path, _ = filepath.Abs("../_tests/file.pdf")
req = makeRequest(oPath, path)

View File

@@ -16,7 +16,7 @@ tasks:
short: Runs CI process inside a container
run:
- docker build -t gotenberg:ci -f Dockerfile.ci .
- docker run --rm -e "VERSION={{ .Orbit.Version }}" -v "$(pwd)/.ci:/go/src/github.com/thecodingmachine/gotenberg/.ci" -v "$(pwd)/.build:/go/src/github.com/thecodingmachine/gotenberg/.build" gotenberg:ci
- docker run --rm -e "VERSION={{ .Orbit.Version }}" -v "$(pwd)/.ci:/go/src/github.com/thecodingmachine/gotenberg/.ci" gotenberg:ci
- use: build
short: Builds the main Docker image