小编Cor*_*ool的帖子

如何在 SvelteKit 中扩展 Locals 接口

Svelte 文档展示了如何在钩子中的局部变量上设置元素:https://kit.svelte.dev/docs/hooks#server-hooks

event.locals.user = await getUserInformation(event.cookies.get('sessionid'));
Run Code Online (Sandbox Code Playgroud)

如果我尝试在 TypeScript 中扩展 locals 对象,则会收到错误,指出属性不存在。

类型“Locals”上不存在属性“user”

界面App.Locals是空的,应该是系统正常的错误信息。如何App.Locals使用用户或会话等属性扩展 Svelte 的接口,并在我的服务器路由中也提供此信息?我想避免自己到处投射或定义它。

typescript sveltekit

16
推荐指数
1
解决办法
6992
查看次数

在typescript中创建自己的react路由类

我找到了这个(reacttraining.com)网站,它用一些例子解释了react-router.但是我无法用打字稿类做到这一点.我想要做的是扩展Route类来构建我自己的类.现在我想在typescript中实现它以进行身份​​验证,如以下示例所示.

const PrivateRoute = ({ component, ...rest }) => (
  <Route {...rest} render={props => (
    fakeAuth.isAuthenticated ? (
      React.createElement(component, props)
    ) : (
      <Redirect to={{
        pathname: '/login',
        state: { from: props.location }
      }}/>
    )
  )}/>
)
Run Code Online (Sandbox Code Playgroud)

我搜索了很多,但找不到一个解释要实现的函数的站点以及调用嵌套路由的类型属性.ES6课程也会有所帮助,谢谢.

typescript reactjs react-router react-router-v4

12
推荐指数
4
解决办法
6372
查看次数

如何在 gitlab-runner 容器内运行的 docker 中的 docker 中运行 docker-compose?

我在 docker 容器中有一个 gitlab runner,如果我运行像 nginx 这样的图像,运行良好。但是现在我尝试在 gitlab runner 中的 docker (dind) 中运行 docker,我想在 dind 中运行 docker-compose。Docker 信息运行良好,但如果我尝试运行 docker-compose,我会收到一个权限被拒绝的错误。

我将 /usr/local/bin/docker-compose 文件链接到 gitlab runner 容器,并将其输入到 runner config.toml 文件的卷参数中。

如果我尝试运行 sudo,它会以未知的命令错误结束,因此这不是解决方案。

我是否必须更多地链接一些文件,还是链接到许多嵌套容器?

docker gitlab-ci-runner docker-compose

12
推荐指数
2
解决办法
9340
查看次数

用sudo运行jenkins管道代理

我有一个在Docker容器中运行的Jenkins服务器,并且可以访问docker和主机系统,到目前为止它运行良好.现在我想在docker容器中设置一个测试脚本的管道.

Jenkinsfile:

pipeline {
    agent { docker 'nginx:1.11' }
    stages {
        stage('build') {
            steps {
                sh 'nginx -t'
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

错误信息:

> + docker pull nginx:1.11
> 
> Warning: failed to get default registry endpoint from daemon (Got
> permission denied while trying to connect to the Docker daemon socket
> at unix:///var/run/docker.sock: Get
> http://%2Fvar%2Frun%2Fdocker.sock/v1.29/info: dial unix
> /var/run/docker.sock: connect: permission denied). Using system
> default: https://index.docker.io/v1/
> 
> Got permission denied while trying to connect to …
Run Code Online (Sandbox Code Playgroud)

jenkins docker jenkins-pipeline

8
推荐指数
3
解决办法
2万
查看次数

gitlab docker注册表与外部nginx和omnibus

我已经在一个docker容器中运行了一个gitlab服务器,其中一个外部nginx服务器位于另一个docker容器中,因此gitlab nginx服务器被停用.现在我想使用gitlab服务器中包含的docker注册表.

我尝试从管理手册中获取信息:https://docs.gitlab.com/ee/administration/container_registry.html

并使用链接文件中的拟合nginx配置:https: //gitlab.com/gitlab-org/gitlab-ce/blob/master/lib/support/nginx/registry-ssl

到gitlab.rb我补充说:

... 
registry_external_url 'url'
registry_nginx['enable'] = false
registry['enable'] = true
...
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试登录(docker login url),我只会收到502 Bad Gateway错误.我也尝试了一些其他配置与ombination,但总是得到相同的错误.有人搞定了吗?我需要在omnibus文件中添加更多设置,还是仍然无法使用带有omnibus和外部nginx的gitlab内部docker注册表?

nginx gitlab docker docker-registry gitlab-omnibus

7
推荐指数
1
解决办法
3928
查看次数

Angular 2:从组件类中清除 textarea

我有一个带有选项列表的文本区域。如果单击选项之一并且在文本区域内按下回车键,则应将标记发送到服务器并应清除文本区域。

<ul>
<li *ngFor="let tag of tags">{{tag.tag}}</li>
<li><textarea #box (keyup)="searchTag(box.value)" (key.enter)="addTag(box.value)"></textarea>
    <ul>
        <li *ngFor="let tag of options" (click)="addTag(tag.tag)">{{tag.tag}}</li>
    </ul>
</li>
Run Code Online (Sandbox Code Playgroud)

在信息发送到服务器之前或之后,如何清除文本区域?clear 命令应该从 addTag 函数调用。

angular

6
推荐指数
1
解决办法
5267
查看次数

git runner 无法访问

我正在尝试设置一个 gitlab 运行程序来使用 gitlab-ci 而不是我的 Jenkins。我设置了一个带有链接 docker.sock 的 docker 容器

   docker run -d --name gitlab-runner --restart always \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /config/file/on/host:/etc/gitlab-runner \
  gitlab/gitlab-runner:latest
Run Code Online (Sandbox Code Playgroud)

容器运行后,我向 gitlab 服务器注册了一个新的运行程序,其配置如下

concurrent = 1
check_interval = 0

[[runners]]
  name = "lianli"
  url = "<https://gitlab_server.de"
  token = "<secret>"
  executor = "docker"
  [runners.docker]
    tls_verify = false
    image = "debian:latest"
    privileged = false
    disable_cache = false
    volumes = ["/cache"]
    shm_size = 0
  [runners.cache]
Run Code Online (Sandbox Code Playgroud)

现在一切都已连接。但是当管道运行时,它会以访问错误结束:

remote: Git access over HTTP is not allowed
fatal: unable to access …
Run Code Online (Sandbox Code Playgroud)

gitlab docker gitlab-ci gitlab-ci-runner

5
推荐指数
1
解决办法
4417
查看次数

更改 Node.js 中的文件所有者

我想更改 Node.js 编写的文件的文件所有者。我认为没有办法在文件写入期间直接设置所有者(或者也许有一种方法没有记录?)。事后有办法更换主人吗?

我的 Node.js 应用程序在 root 用户下的 docker 容器中运行。所以 Node.js 编写的所有文件都归 root 所有。例如,我想将所有者设置为 www-data。是否可以?

fs node.js

3
推荐指数
1
解决办法
4039
查看次数